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: ""
См. также
|
(C++11) | создает элемент на месте в конце (публичный член-функция) |
| вставляет элемент в начало (публичный член-функция) |
|
| удаляет последний элемент (публичный член-функция) |
|
создает 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