【发布时间】:2013-10-03 19:49:00
【问题描述】:
在c++11中,如果我在向量上使用基于范围的for循环,它会保证迭代顺序吗?
即以下代码块是否保证产生相同的输出?
vector<T> output;
vector<U> V;
for( auto v: V) output.push_back(f(v));
对
for(int i =0; i < V.size(); ++i) output.push_back(f(V[i]));
如果不是vector 而是map 等怎么办?
【问题讨论】:
-
你当然可以通过
auto&而不是auto来优化一些不必要的副本