操作符问题
+=操作符为什么返回*this,一般复合赋值操作符是成员函数,我用void作为函数返回值应该没问题,毕竟操作符左操作数就是*this,那么函数体内进行的操作就是对他进行操作,类似于构造函数,那么是否一定要返回*this?还是由于规范的原因?谢谢
[解决办法]
不能排除有人会这样用
if (x += 10)
所以函数有返回值比较好。
[解决办法]
还不是为了减少不必要的麻烦,或者bug ,
只要你处理好,也没所谓了
[解决办法]
this是类内部的成员。有时都是this来进行转换的。
还有就是参数与成员变量同名的时候,this来区分
[解决办法]
根据实现而定义返回值,返回*this会安全一些,不能排除别人用你的重载操作符写出如下这样的一些代码:
f(a += b)//函数调用,参数为类型a
if(&(a += b))//条件判断,地址是否为空
printf("%d", (a += b).v);//其中v是类型a的一个int型成员