C++中的深拷贝和浅拷贝

来源:互联网 发布:smo算法 python实现 编辑:程序博客网 时间:2024/05/30 02:23

浅拷贝

顾名思义就是只进行简单的拷贝,比如,在拷贝构造函数中,只是进行简单的拷贝并不开辟新的空间

比如在这段代码中,可以看出这段代码在拷贝构造时采用了浅拷贝的方法

程序运行结果:

可以看出,程序此时有问题,而打印出的地址是相同的,可以验证此时采用的是浅拷贝
浅拷贝时会造成,多个变量使用同一块内存空间,在析构时,会导致将一块空间多次析构,引发

深拷贝

在拷贝的时候给新的对象另外开辟一块内存空间,使两者都存在自己独立的内存空间,再进行拷贝

下面这段代码在拷贝时采用深拷贝

程序运行结果


由运行结果可知,此处采用的是深拷贝

0 0
原创粉丝点击