【发布时间】:2013-05-04 10:46:59
【问题描述】:
例如:
code1:
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 是否提供了将最后一个搜索项存储在缓存中并加快搜索相同项的功能,还是仅在整个地图中执行第二次搜索?
【问题讨论】: