I am inserting elements in a map avoiding duplicates, so I've written this code
std::unordered_map<size_t, size_t> idToPos;
for (it : list) {
auto itPos = idToPos.find(it.id());
if (itPos==idToPos.end()) {
idToPos[itPos->first] = idToPos.size();
do_something_else();
}
}
The question is, if itPos==idToPos.end() is true, will itPos->second yield the same result as idToPos[itPos->first] given idToPos is an unordered_map?