深浅拷贝的区别理解

深浅拷贝的区别理解,第1张

深浅拷贝的区别理解

深浅拷贝析构的前提都是析构的是你自己在在堆区new出来的内存
浅拷贝 new了一个内存同时存放有参和拷贝地址
深拷贝 在编译器new出来一个内存的基础上,多new了一个存放拷贝函数的地址
当你在有参构造函数后开辟了堆区,然后又在栈上实现了拷贝 拷贝堆区的数据
浅拷贝就是自己不构造拷贝构造函数时,编译器帮你构造一个拷贝构造函数(可以理解为开辟一个*内存空间让你存放拷贝数据的地址),所以当你析构栈上的数据时,先析构掉拷贝函数,析构拷贝函数时就会把*内存空间清除一次,然后再析构有参函数,这个时候有参构造函数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存