unordered_map::find()的功能是自动插入我们使用0值查找的键吗?
让我说清楚
unordered_map<int, int> tempMap;
//some code
if(tempMap.find(1) == tempMap.end()){
//do something but not insert the 1 with a corresponding value into the tempMap
}
因此,如果我再次查找1,它将在tempMap中以0作为对应值存在。
那是unordered_map的功能吗?
最佳答案
不,find
仅搜索并返回迭代器。
就是说,std::unordered_map
(和std::map
)都重载了operator[]
,如果需要,它将插入默认值:
// if element with a key value one exists, return that. otherwise, insert
// a default initialized element (zero in this case), and return that
auto& val = tempMap[1];
关于c++ - unordered_map::find()插入查找键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7434797/