Namespaces
Variants

std::deque<T,Allocator>::push_back

De fr.cppreference.net

 
 
 
 
void push_back( const T& value );
(1)
void push_back( T&& value );
(2) (depuis C++11)

Ajoute l'élément donné value à la fin du conteneur.

1) Le nouvel élément est initialisé comme une copie de value.
2) value est déplacé dans le nouvel élément.

Tous les itérateurs (y compris l'itérateur end()) sont invalidés. Aucune référence n'est invalidée.

Paramètres

value - la valeur de l'élément à ajouter

Exigences de type
-
Si la condition suivante est remplie, le comportement est indéfini :
1) T n'est pas CopyInsertable dans deque .
2) T n'est pas MoveInsertable dans deque .
(depuis C++11)

Valeur de retour

(aucune)

Complexité

Constante.

Exceptions

Si une exception est levée (ce qui peut être dû à Allocator::allocate() ou au constructeur/opérateur d'affectation de copie/déplacement d'élément), cette fonction n'a aucun effet ( garantie d'exception forte ).

Exemple

#include <iomanip>
#include <iostream>
#include <string>
#include <deque>
int main()
{
    std::deque<std::string> letters;
    letters.push_back("abc");
    std::string s{"def"};
    letters.push_back(std::move(s));
    std::cout << "std::deque letters holds: ";
    for (auto&& e : letters)
        std::cout << std::quoted(e) << ' ';
    std::cout << "\nMoved-from string s holds: " << std::quoted(s) << '\n';
}

Sortie possible :

std::deque letters holds: "abc" "def"
Moved-from string s holds: ""

Voir aussi

construit un élément sur place à la fin
(fonction membre publique)
insère un élément au début
(fonction membre publique)
supprime le dernier élément
(fonction membre publique)
crée un std::back_insert_iterator du type déduit de l'argument
(fonction template)