std::vector<int> v; for(std::vector<int>::const_iterator it = v.begin(), e=v.end(); it != e; ++it){ std::cout << *it << std::endl; }
c++11の範囲for文を使うと以下のように書ける
std::vector<int> v; for(const auto& e: v){ std::cout << e << std::endl; }
### 範囲for文(range-based for statement)
配列やコンテナなど複数の要素を持つものから、全ての要素に含まれる値を取り出して処理する
#include <iostream> using namespace std; int main() { int a[] = {1, 2, 3, 4, 5}; int sum = 0; for(int x : a){ sum += x; } cout << "sum = " << sum << end; return 0; }
vector要素の出力
vector<string> v(5); for (int i = 0; i < v.size(); i++){ string& x = v[i]; cin >> x; }
autoは型推論を行うキーワード
vector<string> v(5); for (auto& x : v){ cin >> x; }