Condividi tramite


Contenitori (C++ moderno)

Per impostazione predefinita, utilizzare il vettore come contenitore predefinito sequenziale in C++.Questo è l'equivalente dell'elenco <T> in altre lingue.

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

Utilizzare la mappa (non unordered_map) come contenitore predefinito associative.Utilizzare multiset multimap, set, per degenerate & casi multi.

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

Quando è necessario ottimizzare le prestazioni, è possibile utilizzare:

  1. il tipo di matrice per l'incorporamento è importante, e.g., come un membro di classe.

  2. unordered_map, et al.: basso overhead di ogni elemento (principale) e la ricerca di ora costante (minore perché utilizzare simboli O(K)) O (log N) valido.Più difficili da utilizzare in modo corretto ed efficiente, a causa di fastidio + bordi netti.

  3. Vettore ordinato.(Vedere: algoritmi.)

Non utilizzare matrici C.(Per le API di versioni precedenti, utilizzare f (vec.data(), vec.size()); .)

Vedere anche

Altre risorse

Digitare di nuovo a C++ (C++ moderno)

Riferimenti al linguaggio C++

Riferimento della libreria C++ standard