首页 > 其他 > 详细

对象克隆

时间:2019-11-16 16:05:30      阅读:96      评论:0      收藏:0      [点我收藏+]

    在C++中,有一个特殊的构造函数叫做拷贝构造函数,用于解决对象间浅层拷贝存在的问题。

    C++中每一个类会有一个默认的拷贝构造函数,使用默认的拷贝构造函数实现的是对象的浅层拷贝,大致的工作就是将一个对象的“成员属性”值逐一复制到另外一个对象。默认的拷贝构造函数能够满足大多数的使用需求,但如果类的成员属性中含有指针变量,使用默认的拷贝构造函数就会出现“指针悬挂”的问题。

    什么是指针悬挂?简单的说是这么个情况:某个类A的成员属性中含有指针变量p,通过默认的拷贝构造函数由对象a1创建一个对象a2,由于默认的拷贝构造函数实现的是数值的简单复制,所以最终对象a1和a2的指针变量将具有相同的数值,即指向相同的内存空间,如果某个对象将这个空间释放,另一个对象并不知情,继续使用这个空间......


 

 

    Java中没有指针变量,也存在类似的问题。

对象克隆

原文:https://www.cnblogs.com/KenBaiCaiDeMiao/p/11872002.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!