В C++ существует несколько методов определения наличия ключа в контейнере карты. Вот несколько подходов:
-
Использование функции
count:std::map<KeyType, ValueType> myMap; // ... if (myMap.count(key) > 0) { // Key exists in the map } else { // Key does not exist in the map }Функция
countвозвращает количество элементов с определенным ключом на карте. Если счетчик больше нуля, это означает, что ключ существует на карте. -
Использование функции
найти:std::map<KeyType, ValueType> myMap; // ... auto it = myMap.find(key); if (it != myMap.end()) { // Key exists in the map } else { // Key does not exist in the map }Функция
findвозвращает итератор, указывающий на элемент с указанным ключом. Если итератор не равенend(), это означает, что ключ существует в карте. -
Использование функции
contains(C++20 и более поздние версии):std::map<KeyType, ValueType> myMap; // ... if (myMap.contains(key)) { // Key exists in the map } else { // Key does not exist in the map }Функция
containsнапрямую проверяет, содержит ли карта элемент с указанным ключом. Он возвращаетbool, указывающий, существует ключ или нет. Эта функция доступна в C++20 и более поздних версиях.
Это некоторые распространенные методы определения наличия ключа в карте C++.