默认复制构造函数与无复制构造函数 [duplicate] 之间的区别

Difference between default copy constructor vs no copy constructor [duplicate]

提问人:Injenye Lojik 提问时间:11/3/2022 更新时间:11/3/2022 访问量:58

问:

在 C++ 中,声明复制构造函数默认值与根本不声明复制构造函数之间有区别吗?对于可视化:

class A{
   int x;
}

class B{
   int x;
   B() = default;
   B(const B&) = default;
}

默认复制分配、默认移动构造函数和默认移动分配怎么样?如果我只是要将它们声明为默认值,那么我也可以根本不声明它们吗?

我在网上查了一下,一直找不到答案

C++ 默认 复制构造函数

评论

0赞 Injenye Lojik 11/3/2022
谢谢!该链接帖子中的第二个回复回答了我的问题。我想知道是否有办法通过浏览器搜索引擎轻松找到该答案
0赞 Eljay 11/4/2022
B(const B&) = default;禁止编译器生成隐式移动构造函数、隐式移动赋值,并最终还会禁止隐式复制赋值。q.v. 霍华德·辛南特(Howard Hinnant)解释博客页面底部的表格。B(B&&)B& operator=(B&&)B& operator=(B const&)

答: 暂无答案