【C++】超简单深浅拷贝原理

一、浅拷贝原理

我们使用类中默认的拷贝构造函数为浅拷贝构造函数。它的原理:

 既然是复制,就会产生一个问题——str1中开辟的地址也给了str2。

此时,str1和str2共用一个地址

这就会导致:调用str1的析构函数会将地址1释放,等程序运行str2的虚构函数的时候,会再一次释放地址1,造成一个地址多次释放,系统会报错。

 二、深拷贝原理

通过一,我们得知:在类中有需要释放空间的成员函数时,不能使用浅拷贝(默认拷贝),需要使用深拷贝。

深拷贝原理:

这种拷贝方式让地址1和地址2相互独立,互不干扰。

此时进行两个地址的释放就不会报错。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值