在C ++ 11中有一个基于逆范围的?

时间:2012-09-10 22:34:56

标签: c++ stl c++11

  

可能重复:
  C++11 reverse range-based for-loop

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;
}    

可以做类似的事情做反循环吗?

1 个答案:

答案 0 :(得分:11)

您可以使用Boost.Range's reversed adaptor

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

但标准C ++ 11没有类似的功能。