标准容器的赋值和拷贝是安全的
标准容器,特别是vector,经常会被"传值".
vector<string> v1 = v2;
这个行为其实是蛮恐怖的,调用了vector的拷贝构函数.
STL容器的拷贝构造函数应该都是"深复制".
以vector,它内部的cellnum是已知的,只需要先克隆一个够用的vector,然后逐个的对每个元素做拷贝构造到新的vector上去就行了.
乃至vector<vector<string>>之间的拷贝都是完整的,拷贝完两者就不再依赖.
要求具体的element(数组元素)也支持"深"的拷贝构造.
另外还有一种写法是:
vector<string> v1(v2);
这样本质一些.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步