问题描述
- 编译器合成默认拷贝构造函数问题
-
看《深度探索C++对象模型》遇到的问题。
P49里的例子对于bitwise copy semantics展现了memberwise的拷贝,但是后面P50下面说bitwise copy semantics不需要合成拷贝构造函数。
在P52页的两个例子中,第一个说没合成,我的理解也就是没有初始化int和char*,但之后的第二个合成了拷贝构造函数,不仅初始化了string,更初始化了int.我又用vs测试了下,发现可以运行
class B { public: int cc = 10; }; int main() { B b; cout << b.cc << endl; B c = b; cout << c.cc << endl; }
解决方案
简单数据类型,可以直接用缺省构造函数,浅拷贝也没什么问题
解决方案二:
拷贝构造函数的问题
关于拷贝构造函数的一个问题
C++编译器合成构造函数的问题
时间: 2024-10-26 11:49:54