【发布时间】:2017-06-13 06:05:30
【问题描述】:
我正在查找默认移动构造函数,并了解到某些类已删除默认移动构造函数。 http://en.cppreference.com/w/cpp/language/move_constructor
已删除隐式声明的移动构造函数
类 T 的隐式声明或默认移动构造函数定义为已删除,以下任何一项为真:
T 具有无法移动的非静态数据成员(已删除、不可访问或不明确的移动构造函数);
T 具有无法移动的直接或虚拟基类(已删除、无法访问或不明确的移动构造函数);
T 具有直接或虚拟基类,并带有已删除或不可访问的析构函数;
T 是一个联合体,并且有一个带有非平凡复制构造函数的变体成员;
所以当它说不能移动的数据成员时,它是否还包括对不可移动类的指针/引用?
【问题讨论】:
-
不。 “不能移动”有一个非常精确的定义(在短语旁边的括号中)。