Этот SO-ответ говорит, что STL Map с вектором для ключа вектора может использоваться в качестве ключа. Поэтому, когда мы используем вектор в качестве ключа. Как это на самом деле работает, так как ключ должен быть уникальным, поэтому, когда мы вставляем другой вектор с такими же элементами, map
проверка на дублирующийся элемент за элементом или имя вектора действительно что-то указывает? Как имя массива представляет базовый адрес. Таким образом, массив может быть использован в качестве ключа, поскольку базовый адрес может быть использован в качестве ключа в этом случае, но каков ключ в случае вектора. Как это работает внутри.
Потому что, когда я печатаю имя вектора, я получаю ошибку
vector<int> v;
cout<<v; //error
has operators == and <
как это поможет? мой вопрос состоял в том, чтобы проверить дубликаты элементов, сопоставить сопоставление ключевого элемента вектора с элементом
std::vector
качестве ключа для std::map
. Вы платите за то, что используете . Это можно сделать, и, возможно, для этого есть несколько вариантов использования, но, безусловно, вы можете изменить предпочитаемую структуру данных. Контейнеры STL спроектированы так, чтобы быть максимально универсальными и удобными для использования любым способом, который пользователь может захотеть использовать.
std::map
скопирует ключ и значение в себя. std::unordered_map
может хранить хэш ключа.