Sdílet prostřednictvím


Kontejnery (moderní C++)

Standardně používají jako výchozí kontejner sekvenční v jazyce C++ vektoru.Jedná se o ekvivalent seznamu <T> v jiných jazycích.

vector<widget> v;
v.push_back( “Geddy Lee” );

Jako výchozí kontejner asociativní pomocí mapy (není unordered_map).Použít sadu, multimap, multimnožina degenerate & Multi případy.

map<string, string> phone_book;
phone_book[“Alex Lifeson”] = “+1 (416) 555-1212”;

V případě potřeby je optimalizace výkonu, zvažte použití:

  1. Typ pole při vkládání je důležité, e.g., jako člen třídy.

  2. unordered_map et al.: nižší nároky na prvek (hlavní) a časové konstanty vyhledávání (menší, protože použití SYMBOLŮ O(K)) O (protokol N) je neplatný.Těžší používat správně a účinně, kvůli obtíže + ostré hrany.

  3. Vektor řazení.(Viz: algoritmy.)

Nepoužívejte c matice.(Pro starší rozhraní API použijte f (vec.data(), vec.size()) .)

Viz také

Další zdroje

Moderní Příručka programování v jazyce C++

C++ jazyková Reference

Referenční Standardní knihovna C++