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