私は次のコードが何をするのか疑問に思っていました:
for (auto x:m) std::cout << x << " ";
変数の型を決定するためにコンパイラに任せる方法であることはすでに知っていauto
ますが、何ができるのかわかりません:m
。
私は次のコードが何をするのか疑問に思っていました:
for (auto x:m) std::cout << x << " ";
変数の型を決定するためにコンパイラに任せる方法であることはすでに知っていauto
ますが、何ができるのかわかりません:m
。
ここで説明されている C++11 範囲ベースのfor
ループ構文です: http://www.cprogramming.com/c++11/c++11-ranged-for-loop.html
ここm
には、std::vector のようなコンテナーが必要です。コードはコンテナーを反復処理し、すべての要素 (x
ループ内としてアクセス) をstd::cout
ストリームに入れます。要素はスペースで区切られます。
m
範囲の概念 (つまり、コンテナーの概念) に従う任意の型です。
ループはm
whereのすべての要素を反復しx
、現在反復されている値を表します。