2014年5月2日金曜日

拡張for文

C++11では、for文が拡張されています.

[C++03]

   
int values[5] = {1,2,3,4,5};

for( int i = 0; i < 5; ++i ) {
    std::cout << values[i] << std::endl;
}


[C++11]
   

int values[5] = {1,2,3,4,5};
for( int v : values ) { std::cout << v << std::endl; }

STLコンテナにも同様に使うことができます.


[C++03]
   
std::list< int > values;

for( std::list< int >::iterator iter = values.begin(); iter != values.end(); ++iter ) {
 std::cout << *iter << std::endl;
}

[C++11]
   

for( int v : values ) {
 std::cout << v << std::endl;
}


とても便利です.
(std::for_each() との使い分けはどうしよう...)

0 件のコメント:

コメントを投稿