http://www.cnblogs.com/xkfz007/archive/2012/05/11/2496447.html
Complex test1(const Complex& c)
{ return c;}
Complex test2(const Complex c)
{ return c;}
Complex& test5(Complex& c)
{ return c;}
测试代码:
一、
int main()
{
Complex a;
Complex b=test1(a);
Complex c=test5(a);
}
其中,第二句和第三句,都只调用一次拷贝构造函数,无临时对象。语句属于复制初始化。
二、
int main()
{
Complex a,b,c;
b=test1(a);
c=test5(a);
}
其中,后两句各调用一次赋值操作符重载函数,但第二句中为函数返回值生成一个临时对象。语句为赋值。