Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

forward_list::push_front

公众成员函数  <forward_list>
void push_front (const value_type& val);
void push_front (value_type&& val);

在开始处插入元素

在forward_list的开头插入一个新元素,就在它当前的第一个元素之前。val的内容被复制(或移动)到插入的元素。

容器的大小加1

存在一个类似的成员函数emplace_front,它直接在原位构造插入的元素对象,而不执行任何复制或移动操作。

☲  参数


val
要复制(或移动)到插入元素的值。
成员类型value_type是容器中元素的类型,在forward_list中定义为第一个模板形参(T)的别名。

☉  返回值



none
新元素的存储是使用allocator_traits<allocator_type>::construct()分配的, 如果失败,可能会抛出异常(对于默认的分配器,如果分配请求不成功,会抛出bad_alloc)。

☣  示例



// forward_list::push_front
#include <iostream>
#include <forward_list>
using namespace std;

int main ()
{
  forward_list<int> mylist = {77, 2, 16};
  mylist.push_front (19);
  mylist.push_front (34);

  std::cout << "mylist contains:";
  for (int& x: mylist) std::cout << ' ' << x;
  std::cout << '\n';

  return 0;
}

输出:
mylist contains: 34 19 77 2 16

✥ 复杂度



常量

☣ 迭代器的有效性



没有改变.

⇄ 数据竞争


容器被修改。
不访问所包含的元素:并发访问或修改它们是安全的。

☂ 异常安全性



强保证:如果抛出异常,容器中没有任何变化。
如果不支持allocator_traits::construct,则会导致未定义的行为。

🍄  另请参阅



forward_list::emplace_front 构造并在开头插入元素(公众成员函数)
forward_list::push_front 在开头插入元素 (公众成员函数)
forward_list::insert_after 构造并插入元素(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图