在boost::unordered_map
中如何确定其中是否存在密钥?
boost::unordered_map<vector<int>, MyValueType> my_hash_map;
if (my_hash_map[non-existent key] == NULL)
上面的编译错误“不匹配运算符'=='...”
问题是我使用自定义值类型还是别的什么?
答案 0 :(得分:30)
您可以使用find
方法:
if (my_hash_map.find(non-existent key) == my_hash_map.end())
答案 1 :(得分:25)
count()
exist()
拼写为associative container:
if (my_hash_map.count(key)) { /*key exist*/ }
if (!my_hash_map.count(key)) { /*key does not exist*/ }