#c #dictionary #stl #containers
#c #словарь #stl #контейнеры
Вопрос:
Итак, я хочу использовать std::map
, чтобы найти, существует ли элемент. Так что мне в основном нужен только ключ, а не какое-либо значение.
Есть ли какой-нибудь способ сделать что-то вроде std::map<std::string, void>
, например? Или есть лучшая альтернатива std::map
для такого рода вещей?
В худшем случае std::vector<std::string>
можно было бы использовать другой подобный контейнер, но мне любопытно, можете ли вы сделать это с std::map
помощью ( std::map<std::string, bool>
также можно использовать, но bools будут потрачены впустую). память).
Комментарии:
1. Используйте
std::set
.2. Если все, что вас волнует, это то, существует ли что-то, и вам не нужны данные в каком-либо определенном порядке использования
std::unordered_set
.
Ответ №1:
Или есть лучшая альтернатива std ::map для такого рода вещей?
ДА. Контейнер, который вы описываете, представляет собой набор. В std::set
стандартной библиотеке есть и std::unordered_set
соответствующие их аналогам карты.