Ответ 1
Вы можете использовать метод find
:
if (my_hash_map.find(non-existent key) == my_hash_map.end())
В boost::unordered_map
как определить, существует ли в нем ключ?
boost::unordered_map<vector<int>, MyValueType> my_hash_map;
if (my_hash_map[non-existent key] == NULL)
Вышеприведенная ошибка компилятора "no match for operator '=='..."
Является ли проблема, что я использую настраиваемый тип значения или что-то еще?
Вы можете использовать метод find
:
if (my_hash_map.find(non-existent key) == my_hash_map.end())
exist()
пишется count()
для любого ассоциативный контейнер:
if (my_hash_map.count(key)) { /*key exist*/ }
if (!my_hash_map.count(key)) { /*key does not exist*/ }