Przestrzenie nazw
Warianty
Działania

std::list::push_back

Z cppreference.com
< cpp‎ | container‎ | list
void push_back( const T& value );
(1)
void push_back( T&& value );
(2) (od C++11)

Dodaje nowy element value na koniec kontenera.

1) Nowy element jest inicjalizowany jako kopia value.
2) value jest przenoszone do nowego elementu.

Żadne iteratory ani referencje nie zostają unieważnione.

Spis treści

[edytuj] Parametry

value - wartość dodawanego elementu
Wymagania względem typów
-
T musi spełniać wymagania CopyInsertable aby użyć przeciążenia (1).
-
T musi spełniać wymagania MoveInsertable aby użyć przeciążenia (2).

[edytuj] Zwracana wartość

(none)

[edytuj] Złożoność

Stała.

[edytuj] Wyjątki

Jeśli zostanie wyrzucony wyjątek (co może nastąpić w związku z alokacją pamięci Allocator::allocate() lub konstrukcją/przypisaniem elementu za pomocą kopiowania lub przeniesienia), funkcja nie zmieni wartości kontenera (strong exception guarantee).


[edytuj] Przykład

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

Wynik:

list holds: "abc" "def" 
Moved-from string holds ""

[edytuj] Zobacz także

konstruuje element "w miejscu" na końcu
(publiczna metoda) [edit]
wstawia element na początek
(publiczna metoda) [edit]
usuwa ostatni element
(publiczna metoda) [edit]