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/

10-09 13:11