std::iota

提供: C++入門
移動: 案内検索
スポンサーリンク

C++std::iota とは、シーケンシャルにインクリメントした数字(連番)でコンテナや配列を指定したレンジで埋める機能を提供します。C++11で追加されました。

読み方

std::iota
えすてぃーでぃー いおた

概要

従来であれば、手動で初期化をしたり、for文やstd::generatestd::for_each関数オブジェクトラムダ式などいろいろな手段を用いて、コンテナや配列を初期化していたでしょう。 連番の数字でコンテナや配列を初期化する場合には、std::iotaが非常に簡単です。

iota1.cpp の例

ソースコード iota1.cpp

#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main(int argc, char const* argv[])
{
        vector<int> v(10);
        iota(v.begin(),v.end(), 1);
        for(auto i: v){
                cout << i << " ";
        }
        cout << endl;
        return 0;
}

コンパイル

g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \
-Wl,-rpath=/usr/local/lib/gcc49  iota1.cpp -o iota1

実行例

% ./iota1
1 2 3 4 5 6 7 8 9 10

関連項目




スポンサーリンク