Ця відповідь відповідає, що STL-карта з вектором для ключа вектор може використовуватися як ключ. Отже, коли ми використовуємо вектор як ключ. Як це насправді працює, оскільки ключ повинен бути унікальним, тому коли ми вставляємо інший вектор з тими ж елементами, буде map
перевірка на повторність елемента за елементом чи ім'я вектора щось визначає? Як і ім'я масиву представляє базову адресу. Отже, масив може бути використаний як ключ, оскільки в цьому випадку базова адреса може використовуватися як ключ, але що є ключовим у випадку вектора. Як це працює всередині.
Тому що, коли я друкую ім'я вектора, я отримую помилку
vector<int> v;
cout<<v; //error
has operators == and <
як це допомагає? моє запитання - перевірити дублюючі елементи, буде карта порівняти векторний ключовий елемент за елементами
std::vector
як ключ std::map
. Ви платите за те, що використовуєте . Це можна зробити, і, можливо, для цього є деякі випадки використання, але, безумовно, ви можете змінити структуру даних, що вибираєте. Контейнери STL розроблені таким чином, щоб бути максимально універсальними та зручними для використання будь-яким способом, коли користувач зможе їх використати.
std::map
скопіює в себе і ключ, і значення. std::unordered_map
може зберігати хеш-ключ.