[class.copy] / 12:
如果不是用户提供的,则类X的复制/移动构造函数是微不足道的,其参数类型列表是等效的 到隐式声明的参数类型列表,如果
否则复制/移动构造函数不重要。
我可以看到上面的句子在N4606中已被删除,但我无法在C++ Standard Core Language Active Issues, Revision 96中找到任何可以证明从C ++ 14中删除它的理由。
答案 0 :(得分:6)
这是CWG 2171的结果。删除的文本仅在一种情况下更改含义:
struct X {
X(X& ) = default; // not user-provided
// parameter-type-list differs from implicit declaration's X const&
// wasn't trivial before, is trivial now
};
但是这个拷贝构造函数是否微不足道是一个单独的问题,它是否实际上是可调用的,因此原始文本被认为与标准的通常意图不一致,因此被删除。