37.c++深拷贝与浅拷贝
2019-07-21 本文已影响0人
saygoodbye_e92e



编译器默认生成一个拷贝函数,就是浅拷贝

浅拷贝在一些情况下会有问题,如下




这时候我们会发现一个问题,堆区开辟的数据有程序员手动开辟,也由程序员手动释放,那么数据在什么时候释放呢?在析构函数中

释放内存,同时防止野指针的出现
我们运行一下,发现崩掉了





发现正常

编译器默认生成一个拷贝函数,就是浅拷贝
浅拷贝在一些情况下会有问题,如下
这时候我们会发现一个问题,堆区开辟的数据有程序员手动开辟,也由程序员手动释放,那么数据在什么时候释放呢?在析构函数中
释放内存,同时防止野指针的出现
我们运行一下,发现崩掉了
发现正常