Не могу разобраться как проверить наличие определенного ключа (key) в существующем наборе пар в std::map. Просмотрел несколько раз список методов (тут), но не нашел подходящего (как ни странно). Небольшой пример для демонстрации:
std::map<string, int> demoMap; demoMap["key1"] = 0x21; demoMap["key2"] = 0x22; demoMap["key3"] = 0x38; demoMap["key4"] = 0x39;
Теперь я хочу проверить, есть ли ключ "key2", то есть что-то вроде demoMap.exists("key2") - но такого метода нет, как лучше организовать?
Можно так:
if (demoMap.find("key2") == demoMap.end()) { // Key doesn't exist }
Не могу разобраться как проверить наличие определенного ключа (key) в существующем наборе пар в std::map. Просмотрел несколько раз список методов (тут), но не нашел подходящего (как ни странно). Небольшой пример для демонстрации:
std::map<string, int> demoMap; demoMap["key1"] = 0x21; demoMap["key2"] = 0x22; demoMap["key3"] = 0x38; demoMap["key4"] = 0x39;Теперь я хочу проверить, есть ли ключ "key2", то есть что-то вроде demoMap.exists("key2") - но такого метода нет, как лучше организовать?
Еще вариант через count():
if (demoMap.count("key2") == 0) { // Key doesn't exist }
if (demoMap.count("key2") != 0) { // Key exists }