Ich habe in den letzten Tagen versucht, eine Lösung für ein Speicher-/Zugriffsproblem zu finden.Die effizienteste Möglichkeit, Daten mit mehreren Attributen zu speichern und darauf zuzugreifen
Ich habe derzeit 300 Unikate mit jeweils 10 Attributen (alle Attribute sind derzeit als Strings gesetzt, aber einige der Attribute sind numerisch). Ich versuche programmgesteuert zu speichern und in der Lage zu sein, effizient auf Attribute zuzugreifen, die auf der Element-ID basieren. Ich habe versucht Speichern sie in String-Arrays, Vektoren, Karten und Multimaps ohne Erfolg.
Ziel: in der Lage, schnell auf einen Artikel und eines seiner Attribute schnell und effizient durch eindeutige Kennung zugreifen.
Die nächstgelegene Ich habe erfolgreich bekommen konnte zu sein, ist:
string item1[] = {"attrib1","attrib2","attrib3","attrib4","attrib5","attrib6","attrib7","attrib8","attrib9","attrib10"};
Ich war dann in der Lage On-Demand ein Element zuzugreifen, indem item1[0];
Aufruf aber das ist sehr ineffizient (vor allem, wenn einer Schleife versucht, durch 300 Teile) und es war sehr schwer mit ihm zu arbeiten.
Gibt es eine bessere Möglichkeit, dies zu erreichen?
'unordered_map'? –
Wie ist der Zugriff auf ein Array nach Index "SEHR ineffizient"? Effizient in welchem Sinne? Oh, meinst du eigentlich, dass du darüber nachgedacht hast, 300 verschiedene String-Array-Variablen namens "item1" bis "item300" zu schreiben? –
Nun, ich hatte bereits alle 300 String-Array-Variablen geschrieben (Gott sei Dank für Notepad ++ & Regex). Ich nehme an, ich hätte es so formulieren sollen, wie wäre es besser, die Arrays unverändert zu belassen, oder wäre es einfacher, eine Klasse zu erstellen, die irgendwie mit Funktionsaufrufen umgehen würde? – ljamison