7

重複の可能性:
C++11逆範囲ベースのforループ

に逆範囲ベースforはありC++11ますか?

私はこのようなことをしたい:

for(int value : vec)
{
    cout << value << endl;
}

これをする:

for(auto it = vec.rbegin(); it != vec.rend(); ++it)
{
    cout << *it << endl;
}

例えば:

for(int value : -vec)
{
    cout << value << endl;
}    

逆ループを行うためにそのようなことをすることは可能ですか?

4

1 に答える 1

11

Boost.Rangeの逆アダプターを使用できます。

for(int value : ( vec | boost::adaptors::reversed ))
{...}

ただし、標準のC++11には同様の機能はありません。

于 2012-09-10T22:38:52.780 に答える