Werfen Sie einen Blick auf std::pair<object, object>
EDIT:
Es ist Standard C++ und Teil dessen, was als STL (Standard Template Library) bekannt ist. Es ist eine Sammlung von netten Datenstrukturen, die generisch sind (d. H. Können zum Speichern eines beliebigen C++ - Objekttyps verwendet werden). Diese spezielle Struktur wird verwendet, um ein "Tupel" oder ein Zahlenpaar zusammen zu speichern. Es ist im Grunde ein Objekt mit Mitgliedern "first" und "second", die sich auf das erste und zweite Objekt (jedes Typs!) Beziehen, das Sie darin speichern.
So erklären nur eine Reihe von pair<int, int>
, oder besser noch, einen anderen STL-Typ verwenden die „Vektor“ bezeichnet eine dynamisch-Größe Liste der pair<int, int>
zu machen: vector<pair<int, int> > myList
.
Hey was weißt du! Es existiert bereits eine dynamisch große Liste von Paaren, die als Karte bezeichnet wird. Es ist so einfach wie #include <map>
und eine map<int, int> myMap
zu deklarieren !!!
EDIT:
Ja, wie erwähnt, eine Karte gut „Karten“ einem Objekt zum anderen, so kann man nicht linken seitigen Werte wiederholt haben. Wenn das in Ordnung ist, dann suchen Sie nach einer Karte, ansonsten bleiben Sie bei dem Vektorpaar ... oder schauen Sie sich Multimaps an.
std::map
, std::multimap
Wenn Sie eine ausreichend aktuelle Version von g ++ haben, die tr1 unterstützt, ist 'boost :: tuple' als' std :: tr1 :: tuple' enthalten; Wie andere in den Antworten unten bemerken, können Sie einfach 'std :: pair' für Paare verwenden. –