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