Boost 1.36 から追加された BOOST_REVERSE_FOREACH はその名の通り、逆順 foreach です。
#include <iostream> #include <vector> #include <boost/foreach.hpp> using namespace std; int main() { vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); BOOST_REVERSE_FOREACH(int value, v) { cout << value << endl; } // 3, 2, 1 }
こういうのを用意しておくと便利です。
#define reverse_foreach BOOST_REVERSE_FOREACH