读书人

返回一个引用有什么用》?该怎么解决

发布时间: 2012-05-15 14:35:29 作者: rapoo

返回一个引用有什么用》?
返回一个引用有什么用》?
如下面的
X & X::operator=(const X &source){}

和直接返回X有什么区别?如下
X X::operator=(const X &source){}


[解决办法]
为了实现操作符的来连续使用
好比 a = b = c;
[解决办法]

C/C++ code
主要是考虑效率问题,其次是考虑习惯性,=是右结合的,所以你怎么返回都无所谓
[解决办法]
上面的会少一次复制构造函数调用(忽略RVO的情况下)但是复制符号我们严格限制必须返回引用类型,因为考虑下面形式:
X x1,x2,x3;

(x1=x2)=x3 你实现的要是X X::operator=(const X &source){}将会造成将x3复值给一个x1=x2后的临时对象

[解决办法]
探讨
返回一个引用有什么用》?
如下面的
X & X::operator=(const X &source){}

和直接返回X有什么区别?如下
X X::operator=(const X &source){}

读书人网 >C++

热点推荐