Espaces de noms
Variantes

std::vector

De cppreference.com
 
 
 
std::vector
Les fonctions membres
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
vector::vector
vector::~vector
vector::operator=
vector::assign
vector::get_allocator
Elément d'accès
Original:
Element access
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
vector::at
vector::operator[]
vector::front
vector::back
vector::data (C++11)
Les itérateurs
Original:
Iterators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
vector::begin
vector::cbegin

(C++11)
vector::end
vector::cend

(C++11)
vector::rbegin
vector::crbegin

(C++11)
vector::rend
vector::crend

(C++11)
Capacité
Original:
Capacity
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
vector::empty
vector::size
vector::max_size
vector::reserve
vector::capacity
vector::shrink_to_fit (C++11)
Modificateurs
Original:
Modifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
vector::clear
vector::insert
vector::emplace (C++11)
vector::erase
vector::push_back
vector::emplace_back (C++11)
vector::pop_back
vector::resize
vector::swap
 
<tbody> </tbody>
Déclaré dans l'en-tête <vector>
template< class T, class Allocator = std::allocator<T> > class vector;

std::vector est un conteneur séquentiel qui encapsule les tableaux de taille dynamique .

Les éléments sont stockés de façon contigüe, ce qui signifie que les éléments sont accessibles non seulement via les itérateurs, mais aussi à partir des pointeurs classiques sur un élément. Cela signifie qu'un pointeur sur un élément d'un vector peut être passé à une fonction qui attend un pointeur sur un élément d'un tableau.

Le stockage du vector est pris en charge automatiquement, pouvant être augmenté ou diminué au besoin. Les vector occupent généralement plus d'espace que les tableaux statiques, du fait que de la mémoire supplémentaire est allouée pour anticiper un accroissement futur. Ainsi, un vector n'a pas besoin de ré-allouer la mémoire chaque fois qu'un élément est inséré, mais seulement lorsque la mémoire additionnelle est épuisée. La quantité totale de mémoire allouée peut être obtenue en utilisant la fonction capacity(). La mémoire additionnelle peut être rendue au système via un appel à shrink_to_fit().

Les ré-allocations sont généralement des opérations coûteuses en termes de performance. La fonction reserve() peut être utilisée pour éliminer les ré-allocations lorsque la quantité maximum d'éléments est connue d'avance.

La complexité (efficacité) des opérations courante sur les vector sont les suivantes :

  • Accès aléatoire - constante O(1)
  • Insertion ou le retrait d'éléments à la fin - constante amortie O(1)
  • Insertion ou le retrait d'éléments - linéaire O(n)

std::vector répond aux exigences des concepts Container, AllocatorAwareContainer, SequenceContainer et ReversibleContainer.