Ce SO répond que la carte STL avec un vecteur pour la clé, le vecteur peut être utilisé comme clé. Donc, lorsque nous utilisons un vecteur comme clé. Comment cela fonctionne-t-il réellement puisque la clé doit être unique, donc lorsque nous insérons un autre vecteur avec les mêmes éléments, la map
vérification du doublon élément par élément ou le nom du vecteur spécifiera-t-il quelque chose? Comme le nom du tableau représente l'adresse de base. Ainsi, un tableau peut être utilisé comme clé puisque l'adresse de base peut être utilisée comme clé dans ce cas, mais quelle est la clé dans le cas d'un vecteur. Comment ça marche en interne.
Parce que lorsque j'imprime le nom du vecteur, j'obtiens une erreur
vector<int> v;
cout<<v; //error
has operators == and <
comment cela aide-t-il? ma question était de vérifier les éléments en double cartographieront comparer l'élément clé vecteur par élément
std::vector
comme clé pour std::map
. Vous payez pour ce que vous utilisez . Cela peut être fait, et il existe peut-être des cas d'utilisation pour cela, mais vous pouvez certainement changer la structure de données de votre choix. Les conteneurs STL sont conçus pour être polyvalents et utilisables au maximum de la manière dont les utilisateurs pourraient vouloir les utiliser.
std::map
copiera la clé et la valeur en elle-même. std::unordered_map
peut stocker le hachage de la clé.