「std::iota」の版間の差分
提供: C++入門
(→iota1.cpp の例) |
|||
行9: | 行9: | ||
連番の数字でコンテナや配列を初期化する場合には、[[std::iota]]が非常に簡単です。 | 連番の数字でコンテナや配列を初期化する場合には、[[std::iota]]が非常に簡単です。 | ||
== iota1.cpp の例 == | == iota1.cpp の例 == | ||
− | === ソースコード 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::generate、std::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