vector array{0,1,2,3};
を
0
1
2
3
みたいに表示したい。
- 普通にforで
for ( vector<int>::iterator i=begin(array); i!=end(array); ++i ) {
std::cout << i << std::endl;
}
- C++11のラムダ式とeachで
std::each(begin(array), end(array), [&](int i){ std::cout << i << std::end }
- std::copyとstd::ostream_iteratorを使う。
std::copy(begin(array), end(array), std::ostream_iterator<int>(std::cout, "\n"));
こんな書き方あるんだ、へーって思ったけど直感的じゃないから使わないかな…。
ostream_iterator、istream_iterator 覚えたら便利そう…(たぶん覚えない)。
http://en.cppreference.com/w/cpp/iterator/ostream_iterator