Ich habe Daten wie folgt dargestellt:Wie kann ich gemischte Elemente in einer std :: map speichern?
Ich brauche diese Daten in meine C++ Anwendung zugänglich zu machen. Ich muss auch in der Lage sein, assoziativ über variable Schlüsselnamen auf Items zuzugreifen; zum Beispiel:
std::string key = "ema50";
double value = data[key];
A std::vector<std::map<std::string, double>>
würde für diese groß sein, es sei denn ich bin nicht sicher, was ist mit dem groups
Artikel zu tun. Ich möchte in der Lage den Zugang zu den testing
oder validation
Arrays für ein bestimmtes Element im Vektor:
int testingGroups[9] = data["groups"]["testing"];
int validationGroups[9] = data["groups"]["validation"];
Gibt es eine Weise, die ich dies erreichen kann? Ich bevorzuge es, Vektoren und Karten zu verwenden, aber ich bin offen für andere Lösungen, solange ich assoziativ auf Daten zugreifen kann.
Möchten Vorlagen verwenden wie beschrieben here den Weg gehen?
könnten Sie Tupel verwenden. Sehen Sie, ob dies Ihren Anforderungen entspricht [Tupel-Klasse msdn] (https://msdn.microsoft.com/pt-br/library/bb982837.aspx). – Carafini
Ist die Geschwindigkeit kritisch? Ich meine, Sie könnten diese Werte als Strings speichern und der Aufrufer könnte angeben, wohin er beim Zugriff auf die Daten konvertieren soll: 'data.get (key);'. –
Galik
Mögliches Duplikat von: https://stackoverflow.com/questions/25988288/is-there-anegegant-way-to-represent-a-map-containing-different-types-in-c- – Galik