在定义一个类时,以下内容是否有效?
T(const T&&) = default;
我正在阅读有关移动构造函数的文章(链接在此)。文中解释了默认的移动构造函数仍然可能被隐式声明:
页面底部提到了缺陷报告CWG 2171:一个类可以有多个移动构造函数,例如
T::T(const T&&)
和T::T(T&&)
。如果存在用户定义的移动构造函数,则用户仍可以使用关键字default强制生成隐式声明的移动构造函数。
也许维基百科条目只是有错误,CWG 2171只涉及复制构造函数,而不是移动构造函数?CWG 2171 C++14
X(const X&&) = default
是非平凡的,现在变得是平凡的。
X(const X&&) = default
的类吗? - wallyX&&
之外,任何东西都不能是非用户提供的。 - T.C.