关于浅拷贝

来源:互联网 发布:java获取网站数据 编辑:程序博客网 时间:2024/04/30 04:02

在MFC中,许多类的成员是指针或者是句柄。因此,他们只是保存了指针对象的地址值。在使用拷贝构造函数时,这些指针只是进行普通的“=”拷贝,就是将原来对象的指针,拷贝给新的对象的指针。这就是浅拷贝。

 

深拷贝则是将新的对象的成员指针全部new一遍,然后对指针指向的值进行拷贝。

 

因此,若一个对象将其成员指针指向的对象释放了,则另一个对象访问则会发生错误。所以浅拷贝是危险的。

 

比如:

 

因此,需要加入上面的private成员,来禁用拷贝构造函数和operator=,这样可以禁止类的对象和其派生类的对象浅拷贝

原创粉丝点击