【发布时间】:2011-06-14 01:12:30
【问题描述】:
我想知道右值引用成员有什么用
class A {
// ...
// Is this one useful?
Foo &&f;
};
与左值引用成员相比,它有什么优点或缺点吗?它的主要用例是什么?
【问题讨论】:
-
@GMan 我不知道为什么这比说
template<typename T> struct acw { T &t; acw(T &&t):t(t) {} template <typename U> operator U() { return static_cast<U>(std::forward<T>(t)); } }更好。通过让成员t成为右值引用,您可以获得什么?顺便说一句,我认为 n3225 表示如果您有任何右值引用成员,则默认的复制构造函数被定义为已删除。所以你仍然不能复制auto_cast_wrapper<nonlref>,只能移动它:) -
没什么,我只是说我用过,哈哈。嗯,很高兴知道。稍后我将不得不修复它。
-
@GMan 哦,我现在明白了!感谢您的展示,我认为这是一些有趣的工具。
标签: c++ c++11 rvalue-reference