迭代MAP
}
迭代字符串
std::string hello( "Hello, world!" );
BOOST_FOREACH( char ch, hello )
{
std::cout << ch;
}
迭代vertor中的vertor
std::vector<std::vector<int> > matrix_int; BOOST_FOREACH( std::vector<int> & row, matrix_int ) BOOST_FOREACH( int & i, row ) ++i;
迭代list
std::list<int> list_int( /*...*/ ); BOOST_FOREACH( int i, list_int ) { // 用 i 執行某些操作
}
迭代數組
short array_short[] = {1,2,3}; BOOST_FOREACH( int i, array_short ) { // short 被隱式轉換爲 int
}
讓 BOOST_FOREACH
更漂亮
#define foreach BOOST_FOREACH
#define reverse_foreach BOOST_REVERSE_FOREACH