一些vector拷贝使用的细节,挖过填过的坑,记录一下。
主要有以下几种方法
初始化构造时拷贝(深复制)
这种拷贝,相当于复制了一份数据,array中的数据不变。 如下1
2vector<int> array{3,5,2,6,4};
vector<int> outArray(array);
利用拷贝赋值操作符(深复制)
1 | vector<int> array{3,5,2,6,4}; |
利用assign()函数(清空并深复制)
一样的复制了一份数据,array中的数据不变。
1 | vector<int> array{3, 5, 2, 6, 4}; |
利用swap()函数(交换两个vector)
会清空原vector数组
1 | vector<int> array{3,5,2,6,4}; |
1 | vector<int> array{3, 5, 2, 6, 4}; |