首页 新闻 会员 周边

c++中构造函数带&符是什么意思

0
悬赏园豆:10 [已解决问题] 解决于 2019-04-16 10:55

在c++中看见如下的构造函数,

protected: istream& (istream&& x);
我知道,istream (istream&& x);是什么意思,但是加上&后,就不知道了是什么意思。

提前感谢!
HDWK的主页 HDWK | 初学一级 | 园豆:152
提问于:2019-04-09 18:01
< >
分享
最佳答案
0
HDWK | 初学一级 |园豆:152 | 2019-04-16 10:54
其他回答(2)
0

istream&类型的引用

收获园豆:10
新锣肉粒多 | 园豆:212 (菜鸟二级) | 2019-04-11 16:40

istream& (istream&& x);

这个构造函数和

istream (istream&& x)

有什么区别

支持(0) 反对(0) HDWK | 园豆:152 (初学一级) | 2019-04-11 16:41

@HDWK: 有区别啊,一个返回istream&类型,另一个返回istream类型

支持(0) 反对(0) 新锣肉粒多 | 园豆:212 (菜鸟二级) | 2019-04-11 16:52

@HDWK: 兄弟,你可以把输出作为一个返回值打印出来看看,有什么区别不就知道了哈

支持(0) 反对(0) 骑着兔子的蜗牛 | 园豆:299 (菜鸟二级) | 2019-04-14 10:27
0

属于 c++11 里的“移动语义的构造函数”。istream (istream&& x) 的意思就是把 x 内部维护的资源,“转交”给新构造出的对象。调用后 x 将变成一个“空壳”。具体可以参考 c++11 标准。

hoodlum1980 | 园豆:559 (小虾三级) | 2019-04-18 14:46

谢谢。我在此问中的,关于该问题的描述可能不够详细。我已经从其他渠道获得了答案,链接: https://stackoverflow.com/questions/55687334/what-is-the-meaning-of-the-address-symbol-in-a-constructor

支持(0) 反对(0) HDWK | 园豆:152 (初学一级) | 2019-04-18 14:49

@HDWK: 返回值是 T&,是引用,底层上你可以认为返回的是指向这个对象的一个指针。

支持(0) 反对(0) hoodlum1980 | 园豆:559 (小虾三级) | 2019-04-18 15:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册