Esta respuesta SO dice que el Mapa STL con un Vector para la Clave, el vector puede usarse como una clave. Entonces cuando usamos un vector como clave. ¿Cómo funciona eso realmente, ya que la clave debe ser única, de modo que cuando insertemos otro vector con los mismos elementos, la map
comprobación de elementos duplicados por elemento o el nombre del vector especifica algo? Al igual que el nombre de la matriz representa la dirección base. Por lo tanto, una matriz se puede usar como una clave ya que la dirección base se puede usar como una clave en este caso, pero cuál es la clave en el caso de un vector. ¿Cómo funciona internamente?
Porque cuando imprimo el nombre del vector, obtengo un error
vector<int> v;
cout<<v; //error
has operators == and <
¿Cómo ayuda eso? mi pregunta era verificar que los elementos duplicados
std::vector
como clave para std::map
. Pagas por lo que usas . Se puede hacer, y tal vez hay algunos casos de uso para eso, pero ciertamente puede cambiar su estructura de datos de elección. Los contenedores STL están diseñados para ser lo más versátiles y utilizables de cualquier forma que el usuario quiera usar.
std::map
copiará tanto la clave como el valor en sí mismo. std::unordered_map
puede almacenar hash de la clave.