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

知识整理1

时间:2016-06-13 18:40:08      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

C++的深拷贝和浅拷贝

  浅拷贝也叫位拷贝(bitwise assignment),意思就是将一个对象的内存映像按位原封不动的复制给另一个对象。如果字段是值类型的,则对该字段执行逐位复制;如果字段是引用类型,则复制引用但不复制引用的对象。

如果改变目标对象中引用型字段的值他将反映在原是对象中,也就是说原始对象中对应的字段也会发生变化。

  深拷贝也叫值拷贝(value assignment),它会将一个对象的值全部复制给另一个对象,包括引用类型的对象里的值。

  如果没有自定义拷贝构造函数和赋值函数,则系统会创建默认的复制构造函数和赋值函数,但系统创建的默认函数只会执行“位拷贝”。

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

  这是参考的网页:

  http://blog.sina.com.cn/s/blog_a2aa00d70101gpvj.html

 

知识整理1

标签:

原文地址:http://www.cnblogs.com/quaws/p/5581411.html

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