首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-05-15 
返回一个引用有什么用》?返回一个引用有什么用》?如下面的X & X::operator(const X &source){}和直接返回X

返回一个引用有什么用》?
返回一个引用有什么用》?
如下面的
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){}