Questa risposta SO afferma che la Mappa STL con un vettore per la chiave può essere utilizzata come chiave. Quindi quando usiamo un vettore come chiave. Come funziona effettivamente poiché la chiave deve essere univoca, quindi quando inseriamo un altro vettore con gli stessi elementi il map
controllo di elementi duplicati per elemento o il nome del vettore specifica qualcosa? Come il nome dell'array rappresenta l'indirizzo di base. Quindi un array può essere usato come chiave poiché l'indirizzo base può essere usato come chiave in questo caso, ma qual è la chiave in caso di un vettore. Come funziona internamente.
Perché quando stampo il nome del vettore, ricevo un errore
vector<int> v;
cout<<v; //error
has operators == and <
come può essere d'aiuto? la mia domanda era di verificare che gli elementi duplicati
std::vector
come chiave per std::map
. Paghi per quello che usi . Può essere fatto, e forse ci sono alcuni casi d'uso per questo, ma sicuramente puoi cambiare la struttura dei dati che preferisci. I contenitori STL sono progettati per essere estremamente versatili e utilizzabili in qualsiasi modo l'utente possa desiderare di usarli.
std::map
copierà sia la chiave che il valore in se stesso. std::unordered_map
può memorizzare l'hash della chiave.