【发布时间】:2013-10-10 08:30:41
【问题描述】:
我有一个使用 std::map 的循环模式。
我只想在键存在时检索值,否则我不想插入元素。目前我正在使用count(key) 或find(key)(哪个更好?从文档来看,复杂性似乎是相同的),如果它们返回一个正值,我就可以访问地图。但是我想避免在地图上使用两个操作。比如:
map<string, int> myMap;
int returnvalue;
boole result = myMap.get("key1",returnValue)
if(result){
\\ use returnValue
}
阅读cplusplus.com 上的 std::map 文档,我发现了两个用于访问地图元素的函数:
它们都不能满足我的需要。
【问题讨论】:
-
你为什么要避开
std::map::find?? -
@billz 没有理由,我忘了 find 返回一个迭代器。