Tenga una mirada en std::pair<object, object>
EDIT:
Es estándar de C++ y parte de lo que se conoce como la STL (Standard Template Library). Es una colección de buenas estructuras de datos que son genéricas (es decir, se pueden usar para almacenar cualquier tipo de objeto C++). Esta estructura en particular se usa para almacenar una "tupla" o un par de números juntos. Básicamente es un objeto con miembros "primero" y "segundo" que se refieren a los objetos primero y segundo (¡de cualquier tipo!) Que almacene en ellos.
Así que declarar una matriz de pair<int, int>
, o mejor aún, utilizar otro tipo STL llamado el "vector" hacer una lista dinámica de tamaño de pair<int, int>
: vector<pair<int, int> > myList
.
¡Oye, qué sabes! ¡Ya existe una lista de pares de tamaño dinámico y se llama mapa! ¡Usarlo es tan simple como #include <map>
y declarar un map<int, int> myMap
!
EDIT:
Si, como se ha señalado, un mapa bien "mapas" un objeto a otro, lo que no puede haber repetido los valores del lado izquierdo. Si eso está bien, entonces un mapa es lo que estás buscando, de lo contrario mantente en el vector del par ... o echa un vistazo a las multimapas.
std::map
, std::multimap
Si tiene una versión suficientemente reciente de g ++ que tiene soporte tr1, 'boost :: tuple' se incluye como' std :: tr1 :: tuple'; como otros señalan en las respuestas a continuación, puedes usar 'std :: pair' para los pares. –