Spec-Zone.ru › C++

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

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

Добавляет заданный элемент value в конец контейнера.

1) Новый элемент инициализируется как копия value.
2) value перемещается в новый элемент.

Все итераторы (включая итератор end()) становятся недействительными. Ссылки не становятся недействительными.

Параметры

value - значение добавляемого элемента
Требования к типу
-T должен удовлетворять требованиям CopyInsertable для использования перегрузки (1).
-T должен удовлетворять требованиям MoveInsertable для использования перегрузки (2).

Возвращаемое значение

(ничего)

Сложность

Постоянная.

Исключения

Если возникает исключение (которое может быть вызвано Allocator::allocate() или конструктором/присваиванием копии/перемещения элемента), эта функция не имеет эффекта (сильная гарантия исключений).

Пример

#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';
}

Возможный вывод:

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

См. также

emplace_back
(C++11)
создает элемент на месте в конце
(публичный член-функция)
push_front
вставляет элемент в начало
(публичный член-функция)
pop_back
удаляет последний элемент
(публичный член-функция)
back_inserter
создает std::back_insert_iterator типа, определяемого из аргумента
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/deque/push_back

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API