Partager via


deque, classe

Organise les éléments d'un type donné dans une disposition linéaire et, comme un vecteur, permettent l'accès aléatoire rapide à tout élément, et aussi l'insertion efficace et la suppression en arrière-plan du conteneur. Toutefois, contrairement à un vecteur, la classe deque prend également en charge l'insertion efficace et la suppression en tête du conteneur.

template <
    class Type, 
    class Allocator=allocator<Type> 
>
    class deque

Paramètres

  • Type
    Type de données d'élément à stocker dans le deque .

  • Allocator
    Type qui représente l'objet d'allocation stocké qui contient des détails sur l'allocation et la désallocation de mémoire du deque. Cet argument est facultatif, et la valeur par défaut est allocator<Type>.

Notes

Le choix du type de conteneur doit être basée en général sur le type de la recherche et de l'insertion requis par l'application. Vectors doit être le conteneur par défaut pour gérer une séquence lorsque l'accès aléatoire à tout élément est rare et l'insertion ou la suppression d'éléments sont uniquement nécessaires à la fin d'une séquence. Les performances du conteneur list sont meilleures lorsque les insertions efficaces et les suppressions (en un temps fixe) à tout emplacement de la séquence sont rares. Ces opérations au milieu de la séquence requièrent de copier les éléments et les assignations proportionnelles au nombre d'éléments dans la séquence (temps linéaire).

Une redistribution de deque se produit lorsqu'une fonction membre doit insérer ou effacer des éléments de la séquence :

  • Si un élément est inséré dans une séquence vide, ou si un élément est effacé afin de rendre une séquence vide, alors les itérateurs précédemment retournés par begin et end deviennent valides.

  • Si un élément est inséré à la première position du deque, tous les itérateurs, mais pas les références, qui désignent des éléments existants connus deviennent invalides.

  • Si un élément est inséré à la fin du deque, alors end et tous les itérateurs, mais pas les références, qui désignent des éléments existants connus deviennent invalides.

  • Si un élément est effacé en tête du deque, seul cet itérateur et les références à l'élément effacé deviennent invalides.

  • Si le dernier élément est effacé de la fin du deque, seul cet itérateur de l'élément final et les références à l'élément effacé deviennent invalides.

Sinon, insérer ou effacer un élément invalide tous les itérateurs et références.

Constructeurs

deque

Construit un deque. Plusieurs constructeurs sont fournis afin d'installer le contenu du nouveau deque de différentes façons : vide ; chargé avec un nombre spécifié d'éléments vides ; contenu déplacé ou copié depuis un autre deque; contenu copié ou déplacé en utilisant un itérateur ; et un élément copié dans le deque _Count fois. Certains constructeurs autorisent l'utilisation d'un allocator personnalisé pour créer des éléments.

Typedef

allocator_type

Un type qui représente la classe allocator pour l'objet deque .

const_iterator

Un type qui fournit un itérateur à accès aléatoire capable d'accéder à et de lire des éléments du deque en tant que const

const_pointer

Un type qui fournit un pointeur vers un élément d'un deque en tant que const.

const_reference

Un type qui fournit une référence à un élément dans un deque pour des opérations de lecture et autres en tant que const.

const_reverse_iterator

Un type qui fournit un itérateur à accès aléatoire capable d'accéder à et de lire des éléments du deque en tant que const. Le deque est affiché de manière inversée. Pour plus d’informations, consultez reverse_iterator, classe

difference_type

Un type qui fournit la différence entre deux itérateurs à accès aléatoire qui font référence à des éléments dans la même deque.

itérateur

Un type qui fournit un itérateur à accès aléatoire capable de lire ou de modifier un élément dans un deque.

pointer

Un type qui fournit un pointeur à un élément dans une deque.

référence

Un type qui fournit une référence à un élément stocké dans une deque.

reverse_iterator

Un type qui fournit un itérateur à accès aléatoire capable de lire ou de modifier un élément dans un deque. Le deque est affiché dans un ordre inversée.

type_taille

Un type qui compte le nombre d'éléments dans un deque.

type valeur

Un type qui représente le type de données stocké dans une deque.

Fonctions membres

assign

Efface les éléments d'un deque et copie une nouvelle séquence d'éléments vers le deque ciblé.

at

Retourne une référence à l'élément à un emplacement spécifié dans le deque.

back

Retourne une référence au dernier élément du deque.

begin

Retourne un itérateur à accès aléatoire traitant le premier élément du deque.

deque::cbegin

Retourne un itérateur const au premier élément du deque.

deque::cend

Retourne un itérateur const à accès aléatoire qui pointe juste après la fin du deque.

clear

Efface tous les éléments d'une deque.

deque::crbegin

Retourne un itérateur const à accès aléatoire au premier élément du deque affiché dans l'ordre inverse.

deque::crend

Retourne un itérateur const à accès aléatoire au premier élément du deque affiché dans l'ordre inverse.

deque::emplace

Insère un élément mis en place dans le deque à un emplacement spécifié.

deque::emplace_back

Ajoute un élément mis en place à la fin du deque.

deque::emplace_front

Ajoute un élément mis en place au début du deque.

empty

Retourne true si le deque ne contient aucun élément, et false si il contient un ou plusieurs éléments.

end

Retourne un itérateur à accès aléatoire qui pointe juste après la fin du deque.

effacer

Supprime un élément ou une plage d'éléments dans un deque à partir d'emplacements spécifiés.

front

Retourne une référence au premier élément dans un deque.

get_allocator

Retourne une copie de l'objet allocator qui est utilisé pour construire le deque.

insérer

Insère un élément, plusieurs éléments, ou une plage d'éléments dans un deque à un emplacement spécifié.

max_size

Retourne la longueur maximale du deque.

pop_back

Efface l'élément à la fin du deque.

pop_front

Efface l'élément au début du deque.

push_back

Ajoute un élément à la fin du deque.

push_front

Ajoute un élément au début du deque.

rbegin

Retourne un itérateurs à accès aléatoire au premier élément d'un deque inversé.

rend

Retourne un itérateur à accès aléatoire qui pointe juste au delà du dernier élément d'un deque inversé.

resize

Spécifie une nouvelle taille pour un deque.

deque::shrink_to_fit

Ignore la surcapacité.

taille

Retourne le nombre d'éléments figurant dans le deque.

échange

Échange les éléments de deux deque.

Opérateurs

operator[]

Retourne une référence à l'élément deque à un emplacement spécifié.

deque::operator=

Remplace les éléments d'un deque avec une copie d'une autre deque.

Configuration requise

Header: <deque>

Voir aussi

Référence

Sécurité des threads dans la bibliothèque standard C++

Bibliothèque STL (Standard Template Library)

Autres ressources

<deque> membres

membres de classe de deque