例如:
代码1:
if((iter = map.find(key)) != map.end()) {
return iter->second;
}
return 0;
代码2:
if(map.count(key) > 0) {
return map.at(key);
}
return 0;
code2要简单得多,但两者都map.count()
需要map.at()
O(logn) 时间。是否std::map
提供将最后一个搜索项存储在缓存中并使搜索相同项更快的功能,还是仅在整个地图中执行第二次搜索?