请问,如何把一个vector中的前面一部分复制下来加到后面去
例如,有一个vector,储存着a到z26个字母。现在要把a到z添加到vector后面去。该怎么办?开始想到的是insert插入多个值,但感觉插入进取,会改变迭代器。最后我就用了一个暂存的vector储存这个,然后再insert。还有什么更好的方法吗?谢谢!
[解决办法]
没有,将就着用吧!
[解决办法]
写了一个,不过看上去有点烦,供参考...
- C/C++ code
#include <iostream>#include <vector>using namespace std;int main(void){ char c[26]=""; for(int i=0;i<26;i++) c[i]='a'+i; vector<char> vc1(c,c+26); vector<char> vc2(vc1);//vc1复制到vc2 vc1.resize(vc1.size()+vc2.size());//vc1大小扩展一下 copy(vc2.begin(),vc2.end(),vc1.end()-vc2.size());//复制到后面。 vector<char>::iterator it=vc1.begin(); for(;it!=vc1.end();it++) cout << *it << " "; cout << endl; return 0;}