Ich möchte eine Karte mit einem einheitlichen Schlüsseltyp, aber heterogenen Datentypen haben.Wie erstellt man eine heterogene boost :: map?
Ich möchte in der Lage sein, etwas zu tun, wie (Pseudo-Code):
boost::map<std::string, magic_goes_here> m;
m.add<int>("a", 2);
m.add<std::string>("b", "black sheep");
int i = m.get<int>("a");
int j = m.get<int>("b"); // error!
ich einen Zeiger auf eine Basisklasse als Datentyp haben könnte, aber lieber nicht.
Ich habe noch nie Boost verwendet, aber habe die Fusion-Bibliothek angeschaut, kann aber nicht herausfinden, was ich tun muss.
Danke für Ihre Hilfe.
'boost :: variant' –
Wenn Sie alle möglichen Typen kennen, die Sie in der Karte stopfen möchten, dann wird' boost :: variant 'großartig funktionieren. Wenn Sie buchstäblich jeden Typ wollen, dann ist 'boost :: any' der richtige Weg. – Kurt