std::
deque::push_back
公众成员函数 <deque>
C++98: |
void push_back (const value_type& val); |
C++11; |
void push_back (const value_type& val);
void push_back (value_type&& val);
|
在末尾添加元素
返回对deque容器最后的一个元素的引用。
在deque容器的最后一个元素之后添加一个新元素。val的内容被复制(或移动)到新元素。
容器的大小加1
☲ 参数
-
val
-
要复制(或移动)到新元素的值。
成员类型value_type是容器中元素的类型,在deque中定义为其第一个模板形参(T)的别名。
☉ 返回值
none
新元素的存储是使用容器的分配器分配的,如果失败,
它可能会抛出异常(对于默认的分配器,如果分配请求不成功,会抛出bad_alloc)。
☣ 示例
// deque::push_back
#include <iostream>
#include <deque>
int main ()
{
std::deque<int> mydeque;
int myint;
std::cout << "Please enter some integers (enter 0 to end):\n";
do {
std::cin >> myint;
mydeque.push_back (myint);
} while (myint);
std::cout << "mydeque stores " << (int) mydeque.size() << " numbers.\n";
return 0;
} |
该示例使用push_back在每次读取一个新整数时向容器添加一个新元素。
✥ 复杂度
常量
☣ 迭代器的有效性
与此容器相关的所有迭代器将失效。
指向容器中元素的指针和引用仍然有效,它们引用的是调用之前所引用的相同元素。
⇄ 数据竞争
容器被修改。
不访问现有元素(请参阅上面的迭代器有效性)。
☂ 异常安全性
强保证:如果抛出异常,容器中没有任何变化。
如果allocator_traits::构造不支持val作为参数,它将导致未定义的行为。
🍄 另请参阅
deque::insert |
插入元素(公众成员函数) |
deque::push_front |
在开头插入元素 (公众成员函数) |
deque::pop_front |
删除第一个元素 (公众成员函数) |
deque::front |
访问首元素(公众成员函数) |