在c++中看见如下的构造函数,
protected: istream& (istream&& x);
我知道,istream (istream&& x);是什么意思,但是加上&后,就不知道了是什么意思。
提前感谢!
istream&类型的引用
istream& (istream&& x);
这个构造函数和
istream (istream&& x)
有什么区别
@HDWK: 有区别啊,一个返回istream&类型,另一个返回istream类型
@HDWK: 兄弟,你可以把输出作为一个返回值打印出来看看,有什么区别不就知道了哈
属于 c++11 里的“移动语义的构造函数”。istream (istream&& x) 的意思就是把 x 内部维护的资源,“转交”给新构造出的对象。调用后 x 将变成一个“空壳”。具体可以参考 c++11 标准。
谢谢。我在此问中的,关于该问题的描述可能不够详细。我已经从其他渠道获得了答案,链接: https://stackoverflow.com/questions/55687334/what-is-the-meaning-of-the-address-symbol-in-a-constructor
@HDWK: 返回值是 T&,是引用,底层上你可以认为返回的是指向这个对象的一个指针。