0
我有一些代碼使用迭代器遍歷unordered_map的所有元素,但在該循環中有幾個其他過程,我將迭代器存儲到映射中的特定元素,並且通常會進行大量跳躍但不迭代(不包括最外層的迭代器)。const_reference或迭代器的映射(當沒有實際迭代時)
在我看來,如果我實際上沒有迭代,那麼對元素使用unordered_map::const_reference
可能更合適。這是真的?阻止我使用const_references的唯一的事情是,從我的快速谷歌搜索他們似乎很少被民衆使用,或至少很少討論。
但也有const_iterator。我嘗試過使用const_references進行實驗,但是我沒有找到一種方法來在不使用迭代器的情況下初始化它們。 – zenna 2010-08-22 12:23:01
抱歉錯過了:一旦找到元素,使用const引用可能是明智的做法,因爲迭代器在某些情況下可能會失效條件。這又是一個判斷電話,取決於你的代碼。易於閱讀意味着易於維護和修改。因此,請使用使代碼儘可能易於維護的方法。 – 2010-08-22 13:51:33