2016-05-12 125 views
-6

哪种说法是在容器循环迭代更快,优化:迭代与自动ref或迭代器

for (const auto& Item : s_MyTable) 

for (std::unordered_map<int,std::string>::const_iterator it = s_myTable.cbegin(); it != s_myTable.cend(); ++it) 
+13

这种问题的标准评论:你是否测过它? –

+0

取决于你在循环中如何使用'it'。但是,如果循环是逻辑等价的,那么现代编译器很可能会创建相同的输出。 –

+0

我使用项目将它们存储在一个向量中。 – Aminos

回答

1

总之,无论是“快”。他们以同样的方式做同样的事情。

说得更一般,如果你真的想知道,在你的系统上测量它

尽可能地说一般,尽量不要关心这样的事情。