码迷,mamicode.com
首页 > 其他好文 > 详细

深拷贝和浅拷贝的区别

时间:2014-11-09 15:07:33      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:问题   对象   简单   指针   内存   过程   需要   没有   动态   

深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。

在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误。

深拷贝和浅拷贝的区别

标签:问题   对象   简单   指针   内存   过程   需要   没有   动态   

原文地址:http://www.cnblogs.com/zhuqn/p/4085102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!