例えば:
コード 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()
O map.at()
(logn) 時間かかります。最後の検索アイテムをキャッシュに保存して同じアイテムの検索を高速化する機能を提供しますか?std::map
それとも、マップ全体で 2 回目の検索を実行するだけですか?