我有一个 map 定义为
static map<unsigned int, deque<FOO_STRUCT*> > CV_MAP;
我想知道一种方法是否比另一种更好:
map_instance[key] vs. map_instance.find(key).
最佳答案
map_instance[key]
将默认为键 key
构造一个新值如果它不存在。
如,它将调用 deque<FOO_STRUCT*>
的构造函数 if key
不存在,并返回新建的 deque<FOO_STRUCT*>
.
使用 find
成员函数不会为给定的键构造一个新值——当键不存在时,它只会返回一个指向 CV_MAP.end()
的迭代器。 .
使用适合您的用例的内容。
关于c++ - c++ 中 map_instance[key] 与 map_instance.find(key) 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46517664/