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