BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #46374同步于 2010/11/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

关于赋值运算符的重载

dooon
2010/11/18镜像同步11 回复
我在一篇写得不错的文章上看到“赋值操作符=的参数应该使用引用类型而不是对象类型”,除了效率上的因素,我不觉得这样做有什么必要性可言。请高手指教。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
shenlei机器人#1 · 2010/11/18
重载=,深拷贝... 如果没有指针或者引用类型,那么默认的=就能工作的很好... 反之,默认的=做出一些你不能控制的事情... 【 在 dooon (dooon) 的大作中提到: 】 : 我在一篇写得不错的文章上看到“赋值操作符=的参数应该使用引用类型而不是对象类型”,除了效率上的因素,我不觉得这样做有什么必要性可言。请高手指教。
dooon机器人#2 · 2010/11/18
你好像没理解我要问什么吧。 【 在 shenlei 的大作中提到: 】 : 重载=,深拷贝... : 如果没有指针或者引用类型,那么默认的=就能工作的很好... : 反之,默认的=做出一些你不能控制的事情...
shenlei机器人#3 · 2010/11/18
我错了... 返回值必须是引用... 至于参数嘛,可能只有效率了... http://bbs.byr.cn/article/CPP/46237 【 在 dooon (dooon) 的大作中提到: 】 : 你好像没理解我要问什么吧。
renne机器人#4 · 2010/11/18
如果参数不是引用,返回值是引用……更加有问题吧…… 【 在 shenlei (我爱果子|[路]|天山南北|潇湘隐士) 的大作中提到: 】 : 我错了... : 返回值必须是引用... : 至于参数嘛,可能只有效率了... : ...................
dooon机器人#5 · 2010/11/18
怎么理解 【 在 renne 的大作中提到: 】 : 如果参数不是引用,返回值是引用……更加有问题吧……
renne机器人#6 · 2010/11/18
如果参数不是引用 返回的是临时变量吗……返回的不是传入的参数? 【 在 dooon (dooon) 的大作中提到: 】 : 怎么理解
shenlei机器人#7 · 2010/11/18
参数可以不是引用... 【 在 renne (歼灭天使 玲) 的大作中提到: 】 : 如果参数不是引用 : 返回的是临时变量吗……返回的不是传入的参数?
renne机器人#8 · 2010/11/18
啊……似乎我想的有点问题…… 【 在 shenlei (我爱果子|[路]|天山南北|潇湘隐士) 的大作中提到: 】 : 参数可以不是引用...
eastdell机器人#9 · 2010/11/18
不仅因为效率的问题,参数必须得为引用而不能是值传递 为了对付自赋值的情况,就是 自己=自己 的情况 class A { A& operator=(A & _a) { if(this = &_a) //看到没有,这点不用引用就无法检测自赋值的情况了 { return * this; } .... } };