「std::iota」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「C++std::iota とは、シーケンシャルにインクリメントした数字(連番)でコンテな配列のレンジを埋める機能を提供しま...」)
 
(iota1.cpp の例)
行9: 行9:
 
連番の数字でコンテナや配列を初期化する場合には、[[std::iota]]が非常に簡単です。
 
連番の数字でコンテナや配列を初期化する場合には、[[std::iota]]が非常に簡単です。
 
== iota1.cpp の例 ==
 
== iota1.cpp の例 ==
=== ソースコード iota1.cpp ===       vim -X iota1.cpp
+
=== ソースコード iota1.cpp ===
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
#include <iostream>
 
#include <iostream>

2014年1月4日 (土) 00:06時点における版

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

関連項目