将基于范围的for循环保留索引顺序

前端之家收集整理的这篇文章主要介绍了将基于范围的for循环保留索引顺序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在c 11中,如果我使用基于向量循环的范围,将保证迭代顺序?
说,以下代码块是否保证相同的输出
vector<T> output;
vector<U> V;
for( auto v: V) output.push_back(f(v));

VS

for(int i =0; i < V.size(); ++i) output.push_back(f(V[i]));

如果不是矢量但地图等等呢?

解决方法

是的,两个代码保证做同样的事情.虽然我没有链接到标准,你可以看看 here.我引用:你可以读取,作为“所有x在v”通过从v.begin()开始并迭代到v.end() .

猜你在找的C&C++相关文章