std::vector<T,Allocator>:: push_back
|
void
push_back
(
const
T
&
value
)
;
|
(1) | (constexpr depuis C++20) |
|
void
push_back
(
T
&&
value
)
;
|
(2) |
(depuis C++11)
(constexpr depuis C++20) |
Ajoute une copie de value à la fin du conteneur.
Si après l'opération la nouvelle
size()
est supérieure à l'ancienne
capacity()
, une réallocation a lieu, auquel cas tous les itérateurs (y compris l'itérateur
end()
) et toutes les références aux éléments sont invalidés. Sinon, seul l'itérateur
end()
est invalidé.
Table des matières |
Paramètres
| value | - | la valeur de l'élément à ajouter |
|
(depuis C++11) | ||||||
Complexité
Amorti constant.
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
).
|
Si le constructeur de déplacement de
|
(depuis C++11) |
Notes
Certaines implémentations lancent
std::length_error
lorsque
push_back
provoque une réallocation qui dépasse
max_size
(en raison d'un appel implicite à un équivalent de
reserve
(
size
() + 1))
.
Exemple
#include <iomanip> #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> letters; letters.push_back("abc"); std::string s{"def"}; letters.push_back(std::move(s)); std::cout << "std::vector 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::vector letters holds: "abc" "def" Moved-from string s holds: ""
Voir aussi
|
(C++11)
|
construit un élément en place à la fin
(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
(modèle de fonction) |