首页 > 其他 > 详细

赋值操作符、加号+操作符重载的一些注意

时间:2021-04-01 00:50:39      阅读:11      评论:0      收藏:0      [点我收藏+]

赋值操作符

1、赋值必须返回对 *this 的引用

这与内置类型的赋值一致。而且, 因为赋值返回一个引用,就不需要创建和撤销结果的临时副本

2、是否为自赋值

用if(this==&other)来判断,若是,直接返回*this

否则,自赋值可能会导致dangling point的fatal error

3、是否需要delete掉分配给*this的内存空间

如果不delete,直接赋值,会导致memory leak

 

加号操作符重载

1.一般而言,将算术和关系操作符定义为非成员函数

2.加法操作符并不改变操作符的状态,操作符是对 const 对象的引用

3.为了与内置操作符保持一致,加法返回一个右值, 而不是一个引用

4.要返回的右值一般用复制构造函数创建局部变量,不要自己新new一个,否则当函数结束时没法delete掉

赋值操作符、加号+操作符重载的一些注意

原文:https://www.cnblogs.com/NoerForest/p/14603872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!