在运算符重载期间始终编写我们自己的复制构造函数是否安全?
Complex Complex::operator+(const Complex& other)
{
Complex local ;
local.result_real = real + other.real;
local.result_imaginary = imag + other.imag;
return local ;
}
大多数时候我都看到了上述格式,而不是将其作为参考返回。
我们可以采用拇指规则,例如 1- 始终通过引用传递函数参数。2-始终通过引用返回对象。
在运算符重载中是否有任何特殊情况,我们必须仅按值返回对象?