1.什么情况下不能返回引用:
函数必须创建一个对象给它放 返回新创建的对象 不能返回引用(由于函数体内部的创建对象,都是local object 生命周期在函数结束时就会消失)
complex operator +(const complex& x,const complex& y){
return complex (real(x)+real(y),img(x)+imag(y));
//不能返回引用,由于局部对象的生命周期在函数结束时就会死亡
}
2.什么情况下返回引用:
把结果放在某个参数里
inline comples& _doapl(comple *ths,const complex & r){
ths->re+=r.re; 第一参数将被改变
ths->im+=r.im; 第二参数不会被改变
return*ths;
}