在C++ 正宗什么情况下写拷贝构造函数的代码,谢谢,挺比较具体的说说

来源:百度知道 编辑:UC知道 时间:2024/06/23 07:39:51
在C++ 正宗什么情况下写拷贝构造函数的代码,谢谢,挺比较具体的说说
可系统不有拷贝构造函数吗,为啥还要自己写一个,不懂

写什么代码要依赖于要解决什么样的具体问题。
拷贝构造,就是需要从一个已存在的对象产生另一个同类型的新对象。最常用的情况是函数的传值参数和传值的返回值。

自动生成的拷贝构造函数和拷贝赋值函数是基于位拷贝的,就是说新旧两个对象在内存中的数值是完全一样的,每个二进制位都是一样的;
但是如果对象中的数据成员有指针类型的话,就意味着新旧两个对象的这个成员指向的同一块内存;所以这种情况下一般要自己重写这两个函数,让指针指向对象自己独有的某块内存。