C++中copy函数的使用

#include <bits/stdc++.h>
using namespace std;
int main()
{
    vector<int> a = {1, 2, 3};
    vector<int> b;
    copy(a.begin(), a.end(), back_inserter(b));
    copy(b.begin(), b.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    copy(a.begin(), a.end(), back_inserter(b));
    copy(b.begin(), b.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    copy(a.begin(), a.end(), b.begin() + 1);
    copy(b.begin(), b.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    return 0;
}

使用back_inserter可以扩充空间,在原数据后添加数据,不会影响原数据。不使用back_inserter则是替换原数据,需要保证当前容器空间足够。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部