2016-05-12 145 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

總之,無論是「快」。他們以同樣的方式做同樣的事情。

說得更一般,如果你真的想知道,在你的系統上測量它

儘可能地說一般,儘量不要關心這樣的事情。