C ++ 11は、コピー関数を使用して、ベクトルの入出力をエレガントに実装します。

C ++ STLアルゴリズムのコピー関数は、主にコンテナ間で要素をコピーするために使用されます。つまり、イテレータ範囲[first、last)の要素を、コピーターゲットの結果[result、result +(last)で指定された範囲にコピーします。 -最初))で。
以下は、コピー関数とイテレータを介してベクトルの入力と出力を実装します。

#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>

using namespace std;

int main(int argc, char** argv)
{
    vector<int> data{};
    cout << "please input:\n";
    
    // 读入数据
    copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(data));

    cout << "before sort:\n";
    // 输出
    copy(data.begin(),data.end(),ostream_iterator<int>(cout,","));
    cout << endl;
    // 排序
    sort(data.begin(),data.end());

    cout << "after sort:\n";
    // 输出
    copy(data.begin(),data.end(),ostream_iterator<int>(cout,","));
    cout << endl;

    return 0;
}

コードは非常に簡潔でエレガントです。

おすすめ

転載: blog.csdn.net/wujuxKkoolerter/article/details/114095509