std::
list::push_front
公众成员函数 <list>
C++98 |
void push_front (const value_type& val); |
C++11 |
void push_front (const value_type& val);
void push_front (value_type&& val); |
在开始处插入元素
在列表的开头插入一个新元素,就在当前的第一个元素之前。将val的内容复制(或移动)到插入的元素中。
容器的大小增加了1。
☲ 参数
-
val
-
要复制(或移动)到插入元素的值。
成员类型value_type是容器中元素的类型,在list中定义为它的第一个模板形参(T)的别名。
☉ 返回值
none
新元素的存储是使用容器的分配器分配的,
失败时可能抛出异常(对于默认分配器,如果分配请求没有成功,将抛出bad_alloc)。
☣ 示例
// list::push_front
#include <iostream>
#include <list>
int main ()
{
std::list<int> mylist (2,100); // two ints with a value of 100
mylist.push_front (200);
mylist.push_front (300);
std::cout << "mylist contains:";
for (std::list<int>::iterator it=mylist.begin(); it!=mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
} |
输出:
300 200 100 100
✥ 复杂度
常量
☣ 迭代器的有效性
不变.
⇄ 数据竞争
容器被修改。
不访问现有的元素(见上述的迭代器有效性)。
☂ 异常安全性
强保证:如果抛出异常,容器中不会有任何变化。
如果allocator_traits::构造不支持val作为参数,它会导致未定义的行为。
🍄 另请参阅
list::insert |
插入元素(公众成员函数) |
list::push_back |
在末尾添加元素(公众成员函数) |
list::pop_front |
删除第一个元素(公众成员函数) |