C++ 11:是否声明了默认的复制构造函数用户?

Pet*_*Som 14 c++ c++11

我想是的,但我正在寻找C++ 11语言律师来证实我的印象.下面的课是真的吗?

struct X{
X(){}
X(X const&)=default;
};
Run Code Online (Sandbox Code Playgroud)

将不会自动移动启用,即获取X(X&&)operator=(X&&),因为它的复制构造函数是"用户声明的",即使它看起来相当于

struct X{
};
Run Code Online (Sandbox Code Playgroud)

这将同时获得X(X const&)X(X&&)等,隐含申报和(平凡)上使用的定义.

Meh*_*dad 2

defaulted 复制构造函数确实“用户声明的”;我认为添加default实际上是他们将术语从“用户定义”更改为“用户声明”的原因。