[stl::map] verschiedene pointer als daten
-
Hallo, ich beschäftige mich noch nicht allzulange mit der stl.
Gibt es die Möglichkeit, in einer stl- map unterschiedliche Pointer zu verwalten?
nach dem Motto:
map < string, verschiedenePointer*> meine_variablen_adressliste;
double dWert1;
int iWert2;Der inhalt wäre dann ungefähr folgender:
"WERT1" - &dWert1;
"WERT2" - &iWert2;ich möchte auf diese Weise von aussen heraus zur Laufzeit auf verschiedene Variablen zugreifen.
ich schaffte es bisher nur eine map mit einem Dateb-Typ zu deklarieren:
also z.B.
map <string, double*> meine_double_liste;
Gruß und danke
HaJo
-
Direkt geht das nicht, du könntest höchstens void* dort reinpacken (aber dann mußt du die Werte, die du aus der map holst, selber interpretieren), oder dir einen VARIANT-Datentyp schreiben/suchen, der sowohl int* als auch double* interpretieren kann.
-
hmm, schade, ich hatte gehofft, es würde so einfach gehen. Das hätte mir eine Menge an Arbeit erspart...
Naja, da werde ich wohl noch eine Weile überlegen, wie ich mein Problem löse.
Gruß Hajo
-
Wenn du es mit einer Klassenhierarchie zu tun hast, dann kannst du einen Zeiger auf die Basisklasse als Datentyp nehmen und Zeiger auf alle abgeleiteten Klassen reinstecken.
-
@Ponoto: ist klar,
ursprünglich handelt es sich jedoch um verschiedene Datentypen, die ich bei einem Simulationsablauf mitloggen möchte. Und das sind nunmal int, double, bool und eine eigene Objektklasse.
Vielleicht bleibt mir nur der Weg über verschiedene maps? Oder doch mal das mit void* versuchen...