Bibliothèque C ++ - <vecteur>

introduction

Les vecteurs sont des conteneurs de séquences qui peuvent changer de taille. Le conteneur est un objet contenant des données du même type. Les conteneurs de séquence stockent les éléments strictement dans une séquence linéaire.

Vector stocke les éléments dans des emplacements mémoire contigus et permet un accès direct à n'importe quel élément à l'aide de l'opérateur indice []. Contrairement au tableau, le vecteur peut se réduire ou s'étendre selon les besoins au moment de l'exécution. Le stockage du vecteur est géré automatiquement.

Pour prendre en charge la réduction et l'extension des fonctionnalités au moment de l'exécution, le conteneur vectoriel peut allouer un espace de stockage supplémentaire pour s'adapter à une éventuelle croissance, de sorte que le conteneur a une capacité réelle supérieure à la taille. Par conséquent, par rapport à la baie, le vecteur consomme plus de mémoire en échange de la capacité à gérer le stockage et à se développer dynamiquement de manière efficace.

Les vecteurs de taille zéro sont également valides. Dans ce cas, vector.begin () et vector.end () pointe vers le même emplacement. Mais le comportement d'appel de front () ou back () n'est pas défini.

Définition

Ci-dessous la définition de std :: vector à partir du fichier d'en-tête <vector>

template < class T, class Alloc = allocator<T> > class vector;

Paramètres

  • T - Type de l'élément contenu.

    T peut être remplacé par tout autre type de données, y compris le type défini par l'utilisateur.

  • Alloc - Type d'objet allocateur.

    Par défaut, le modèle de classe d'allocateur est utilisé, qui définit le modèle d'allocation de mémoire le plus simple et est indépendant de la valeur.

Types de membres

Les types de membres suivants peuvent être utilisés comme paramètres ou comme type de retour par les fonctions membres.

N ° Sr. Types de membres Définition
1 type de valeur T (premier paramètre du modèle)
2 allocator_type Alloc (deuxième paramètre du modèle)
3 référence type de valeur&
4 const_reference const value_type &
5 aiguille type de valeur*
6 const_pointer const value_type *
sept itérateur un itérateur à accès aléatoire à value_type
8 const_iterator un itérateur à accès aléatoire à const value_type
9 reverse_iterator std :: reverse_iterator <iterator>
dix const_reverse_iterator std :: reverse_iterator <const_iterator>
11 type de taille size_t
12 difference_type ptrdiff_t

Fonctions de <vector>

Vous trouverez ci-dessous la liste de toutes les méthodes de l'en-tête <vector>.

Constructeurs

N ° Sr. Méthode et description
1 vector :: constructeur par défaut de vecteur

Construit un conteneur vide, avec zéro élément.

2 vector :: constructeur de remplissage vectoriel

Construit un conteneur avec n éléments et assignd val à chaque élément.

3 vector :: constructeur de plage de vecteurs

Construit un conteneur avec autant d'éléments dans la plage du premier au dernier.

4 vector :: constructeur de copie de vecteur

Construit un conteneur avec une copie de chaque élément présent dans le conteneur existant x.

5 vector :: constructeur de mouvement vectoriel

Construit le conteneur avec le contenu des autres en utilisant la sémantique de déplacement .

6 constructeur de liste d'initialisation vector :: vector

Construit un conteneur à partir de la liste d'initialisation.

Destructeur

N ° Sr. Méthode et description
1 vecteur :: ~ vecteur

Détruit le conteneur en libérant la mémoire du conteneur.

Fonctions des membres

N ° Sr. Méthode et description
1 vector :: assigner la version de remplissage

Attribuez de nouvelles valeurs aux éléments vectoriels en remplaçant les anciennes.

2 vector :: assigner la version de la plage

Attribuez de nouvelles valeurs aux éléments vectoriels en remplaçant les anciennes.

3 vector :: assigner la version de la liste d'initialisation

Attribuez de nouvelles valeurs aux éléments vectoriels en remplaçant les anciennes.

4 vecteur :: à

Renvoie la référence à l'élément présent à l'emplacement n dans le vecteur.

5 vecteur :: retour

Renvoie une référence au dernier élément du vecteur.

6 vecteur :: commencer

Renvoie un itérateur à accès aléatoire pointant sur le premier élément du vecteur.

sept vecteur :: capacité

Renvoie la taille du stockage alloué, exprimée en termes d'éléments.

8 vecteur :: cbegin

Renvoie un itérateur à accès aléatoire constant qui pointe vers le début du vecteur.

9 vecteur :: cend

Renvoie un itérateur à accès aléatoire constant qui pointe vers le début du vecteur.

dix vecteur :: clair

Détruit le vecteur en supprimant tous les éléments du vecteur et définit la taille du vecteur à zéro.

11 vecteur :: crbegin

Renvoie un itérateur inverse constant qui pointe vers le début de l'inverseur du conteneur.

12 vecteur :: crend

Renvoie un itérateur inverse constant qui pointe vers l'extrémité inverse du vecteur.

13 vector :: données

Renvoie un pointeur vers le premier élément du conteneur vectoriel.

14 vecteur :: emplace

Étend le conteneur en insérant un nouvel élément à la position .

15 vecteur :: emplace_back

Insère un nouvel élément à la fin du vecteur.

16 vecteur :: vide

Teste si le vecteur est vide ou non.

17 vecteur :: fin

Renvoie un itérateur qui pointe vers l'élément au -delà de la fin dans le conteneur vectoriel.

18 vector :: effacer la version de position

Supprime un élément unique du vecteur.

19 vector :: effacer la version de la plage

Supprime un élément unique du vecteur.

20 vecteur :: avant

Renvoie une référence au premier élément du vecteur.

21 vector :: get_allocator

Renvoie un allocateur associé au vecteur.

22 vector :: insérer une version à un seul élément

Étend l'itérateur en insérant un nouvel élément à la position.

23 vector :: insérer la version de remplissage

Étend le vecteur en insérant un nouvel élément dans le conteneur.

24 vector :: insérer la version de la plage

Étend le vecteur en insérant un nouvel élément dans le conteneur.

25 vector :: insérer la version de déplacement

Étend le vecteur en insérant un nouvel élément dans le conteneur.

26 vector :: insérer la version de la liste d'initialisation

Étend le vecteur en insérant un nouvel élément dans le conteneur.

27 vector :: taille_max

Renvoie le nombre maximum d'éléments pouvant être contenus par vecteur.

28 vector :: operator = copie de la version

Attribuez de nouveaux contenus au vecteur en remplaçant les anciens et modifiez la taille si nécessaire.

29 vector :: operator = déplacer la version

Attribuez de nouveaux contenus au vecteur en remplaçant les anciens et modifiez la taille si nécessaire.

30 vector :: operator = version de la liste d'initialisation

Attribuez de nouveaux contenus au vecteur en remplaçant les anciens et modifiez la taille si nécessaire.

31 vector :: opérateur []

Renvoie une référence à l'élément présent à l'emplacement n .

32 vector :: pop_back

Supprime le dernier élément du vecteur et réduit la taille du vecteur de un.

33 vecteur :: push_back

Insère un nouvel élément à la fin du vecteur et augmente la taille du vecteur de un.

34 vecteur :: rbegin

Renvoie un itérateur inversé qui pointe vers le dernier élément du vecteur.

35 vector :: rend

Renvoie un itérateur inverse qui pointe vers l'extrémité inverse du vecteur.

36 vecteur :: réserve

Les demandes de réservation de capacité vectorielle doivent être au moins suffisantes pour contenir n éléments.

37 vecteur :: redimensionner

Modifie la taille du vecteur.

38 vector :: shrink_to_fit

Demande au conteneur de réduire sa capacité pour l'adapter à sa taille.

39 vecteur :: taille

Renvoie le nombre d'éléments présents dans le vecteur.

40 vecteur :: swap

Échange le contenu du vecteur avec le contenu du vecteur x .

Fonctions surchargées non membres

N ° Sr. Méthode et description
1 opérateur ==

Teste si deux vecteurs sont égaux ou non.

2 opérateur! =

Teste si deux vecteurs sont égaux ou non.

3 opérateur <

Teste si le premier vecteur est inférieur à autre ou non.

4 opérateur <=

Teste si le premier vecteur est inférieur ou égal à autre ou non.

5 opérateur>

Teste si le premier vecteur est supérieur ou non à autre.

6 opérateur> =

Teste si le premier vecteur est supérieur ou égal à autre ou non.

sept échanger

Échange le contenu de deux vecteurs.