hs999xl 发表于 2023-12-27 15:21:51

对象的参考还是原来的对象吗?

本帖最后由 hs999xl 于 2023-12-27 15:39 编辑

变量=(变量)对象数组类.取成员(0)//说是取出成员对象的参考。变量.成员变量=123
调试输出(对象数组类.取成员(0))
此时调试输出的结果不是123


怎么回事呢?




aycap 发表于 2023-12-27 15:36:56

正常,对象被复制了一份新的

hs999xl 发表于 2023-12-27 15:41:24

aycap 发表于 2023-12-27 15:36
正常,对象被复制了一份新的

原来如此,谢谢

hs999xl 发表于 2023-12-27 15:43:52

那放进对象数组里的对象就再也取不出来了吗?

tmf19901124 发表于 2023-12-27 15:45:38

返回参考的方法,不要用=号赋值,用了就触发了赋值构造会重新弄一个新的出来

hs999xl 发表于 2023-12-27 15:47:29

tmf19901124 发表于 2023-12-27 15:45
返回参考的方法,不要用=号赋值,用了就触发了赋值构造会重新弄一个新的出来 ...

感谢,忽然意识到了什么。

tmf19901124 发表于 2023-12-27 17:15:08

hs999xl 发表于 2023-12-27 15:47
感谢,忽然意识到了什么。

c++中=号其实也是一个方法 用了就相当于调用了那个方法,所以就有新的出来

hs999xl 发表于 2023-12-27 18:02:18

告诉大家个小技巧,比如你想操作对象数组中的对象成员,两边加括号就行了,比如:”((自定义类)对象数组变量.取成员(索引)).方法()“这样就能拿到开始放里的那个对象。
页: [1]
查看完整版本: 对象的参考还是原来的对象吗?