Container modernes (C++)
Standardmäßig verwenden Sie Vektor als sequenzielle Standardcontainer in C++.Dies entspricht der Liste <T> in anderen Sprachen.
vector<widget> v;
v.push_back( “Geddy Lee” );
Verwenden Sie die Karte (nicht Unordered_map) als assoziatives Standardcontainer.Verwenden Sie Set, multimap, Multiset zum Degenerieren & Multi-Fälle.
map<string, string> phone_book;
phone_book[“Alex Lifeson”] = “+1 (416) 555-1212”;
Wenn Performance-Optimierung benötigt wird, in Betracht:
die Array-Typ, wenn einbetten wichtig, e.g., als Klassenmember.
Unordered_map, Et Al.: weniger Aufwand pro Element ist (obere) und Konstante Zeit Lookup (Moll, da ungültige O (Log N) des SYMBOLS O(K)) verwenden.Schwerer zu verwenden, ordnungsgemäß und effizient, wegen der Unannehmlichkeiten + scharfe Kanten.
Sortierte Vektor.(Siehe: Algorithmen.)
Verwenden Sie keine C-Arrays.(Für ältere APIs verwenden Sie f (vec.data(), vec.size()); .)