64,281
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int a[5] = {1, 2, 3, 4, 5};
vector <int> ivec1(a, a+sizeof(a)/sizeof(a[0]));
vector <int> ivec2(ivec1.begin()+1, ivec1.end());
copy(ivec1.begin(), ivec1.end(), ivec2.begin());
vector<int>::iterator iter = ivec2.begin();
while (iter != ivec2.end())
{
cout << *iter << " ";
iter++;
}
return 0;
}
int main()
{
char sou[] = "test";
char des[100];
copy(sou, sou + 4, des);
cout << des << endl; //没问题
char *d = sou + 2; //重叠了
copy(sou, sou + 4, d);
cout << sou << endl; //把sou也给改了
cout << d << endl;
return 0;
}
//个人理解