2010-07-28 8 views

Respuesta

13

Los elementos en un std::map deben tener claves únicas, entonces ... no.

El contenedor std::multimap permite asignar valores múltiples a una clave. Al iterar sobre un std::multimap, los elementos se ordenan por clave, pero no se especifica el orden de los elementos que tienen la misma clave.

Tenga en cuenta que en el último borrador de la futura norma C++ 0x (N3092), el orden relativo de los elementos con la misma clave es garantizado (por lo que, en algún momento, usted será capaz de confiar en este comportamiento).

+0

Gracias. Me refiero a multimap en mi publicación anterior. – Thomson

+2

esta afirmación parece diferente de la última propuesta de nuevo estándar que tengo (pero tiene 21 meses (N2798 = 08-0308)) Cito: Para multisese y multimapa, inserte y borre preservar el orden relativo del equivalente elementos. página 768 Si existe un rango que contiene elementos equivalentes a t en a_eq, t se inserta al final de ese rango. página 771 – pgast

+0

@pgast: Muy interesante. Ese lenguaje está en C++ 0x FCD (N3092). Sin embargo, no es el caso en el estándar actual de C++ (C++ 03) que se mantiene el orden relativo. Gracias por señalar ese cambio. –

Cuestiones relacionadas