Главная

Главная

Сообщество

Сообщество

Форум

Форум

STM32

STM32

Электроника

Электроника

Raspberry Pi

Raspberry Pi

Уведомления
Очистить всё

[Решено] Проверить существования ключа в std::map.

(@lineone)
New member

Не могу разобраться как проверить наличие определенного ключа (key) в существующем наборе пар в std::map. Просмотрел несколько раз список методов (тут), но не нашел подходящего (как ни странно). Небольшой пример для демонстрации:

std::map<string, int> demoMap;
demoMap["key1"] = 0x21;
demoMap["key2"] = 0x22;
demoMap["key3"] = 0x38;
demoMap["key4"] = 0x39;

Теперь я хочу проверить, есть ли ключ "key2", то есть что-то вроде demoMap.exists("key2") - но такого метода нет, как лучше организовать?


Цитата
Автор темы Опубликовано : 05.10.2024 11:52
Метки темы
Aveal MT
(@aveal)
Top level Admin

Можно так:

if (demoMap.find("key2") == demoMap.end())
{
  // Key doesn't exist
}

ОтветЦитата
Опубликовано : 06.10.2024 11:15
TQFP
 TQFP
(@tqfp)
Level 5

Автор: @lineone
↑

Не могу разобраться как проверить наличие определенного ключа (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
}

 


ОтветЦитата
Опубликовано : 06.10.2024 14:48
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.