<boost/foreach.hpp> 提供两个宏:BOOST_FOREACH 和 BOOST_REVERSE_FOREACH
#include <string> #include <boost/foreach.hpp> #include <boost/assign.hpp> #include <boost/typeof/typeof.hpp> int main() { std::vector<int> vect = boost::assign::list_of(1)(2)(3); BOOST_FOREACH(int x,vect) //BOOST_FOREACH 与 BOOST_REVERSE_FOREACH 都是宏 { std::cout<<x<<","; } std::string str = "Hello"; std::cout<<"\n"; BOOST_REVERSE_FOREACH(char& c,str) { std::cout<<c<<","; } std::cout<<"\n"; BOOST_FOREACH(BOOST_TYPEOF(*str.begin()) c,str) //配合 BOOST_TYPEOF 来使用匿名类型 { std::cout<<c<<","; } }