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;
}
可以做类似的事情做反循环吗?
答案 0 :(得分:11)
您可以使用Boost.Range's reversed adaptor:
for(int value : ( vec | boost::adaptors::reversed ))
{...}
但标准C ++ 11没有类似的功能。