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

shangs00 2020-02-19

浅拷贝&深拷贝操作


浅拷贝

仅拷贝数据成员的值,即使数据成员为指针,也只拷贝该地址

C++中拷贝函数的默认行为是浅拷贝

深拷贝

在浅拷贝的基础上,同时拷贝其指针成员所指向的资源

即申请新的内存地址存放原地址的资源

引申


对诸如shared_ptr这样的资源管理类的copying行为[注1],其深拷贝是指一并拷贝其包覆的资源,而非引用计数等其它行为

[注1] copying行为:指copy构造函数copy assignment操作符

参考文献


[1] Effective C++ 条款14

相关推荐