详解常见面试题---深拷贝和浅拷贝(C++)

本文介绍了C++中类对象赋值的深拷贝和浅拷贝概念。通过实例展示了浅拷贝可能导致的内存问题,如二次释放导致的内存崩溃。并解释了解决这个问题的深拷贝机制,通过拷贝构造函数实现对内存的重新分配和复制,避免了析构时的内存问题。最后,作者提醒读者关注此类问题,确保程序的稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,我是KookNut39,在CSDN写文,分享一些自己认为在学习过程中比较重要的东西,致力于帮助初学者入门,希望可以帮助你进步。最近在更新C/C++方面的知识,感兴趣的欢迎关注博主,可以去专栏查看之前的文章,希望未来能和大家共同探讨技术。

C++类对象的赋值操作分为深拷贝和浅拷贝两种,我们所说的的浅拷贝就是赋值操作,这种拷贝比较常见,比如:

class A
{
   
   
public:
	A();
	~A();

public:
	int i;
};

A::A()
{
   
   
	i = 5;
}

A::~A()
{
   
   
}

void main()
{
   
   
	A a1;//执行默认构造函数  初始化a1.i = 7
	A a2 = a1;//发生赋值操作  此刻a2.i = 5
	a2.i = 7;//只修改a2中的成员,对a1中的不造成影响
	return
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KookNut39

感谢您请我喝咖啡哈哈哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值