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

将基于范围的for循环保留索引顺序,第1张

概述在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])); 如果不是矢量但地图等等呢? 是的, @H_419_1@在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() . 总结

以上是内存溢出为你收集整理的将基于范围的for循环保留索引顺序全部内容,希望文章能够帮你解决将基于范围的for循环保留索引顺序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存