c++返回引用

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;
}

你可能感兴趣的:(c++,开发语言)