C++ vector拷贝使用总结

来源:互联网 发布:华为大数据研发岗累吗 编辑:程序博客网 时间:2024/06/11 13:17

虽是细节,但使用不当,也容易造成严重错误。挖过填过的坑,记录一下。

主要有以下几种方法

vector<int> list;list.push_back(1);list.push_back(2);

一、初始化构造时拷贝

vector<int> tem(list);
这种拷贝,相当于复制了一份数据,list中的数据不变。

二、assign

vector<int> temlist;temlist.assign(list.begin(), list.end());
一样的复制了一份数据,list中的数据不变。

三、swap

vector<int> temlist;temlist.swap(list);
将list中数据全部移到temlist中,此时list中为空了

四、insert

vector<int> temlist;vector<int> temlist2;temlist2.push_back(2);temlist2.push_back(2);temlist.insert(temlist.end(), temlist2.begin(), temlist2.end());
将temlist2中的数据,全部插入到temlist的末尾。相当于复制了一份数据