public member function
<list>

std::list::push_back

void push_back (const value_type& val);
void push_back (const value_type& val);void push_back (value_type&& val);
在末尾新增元素
在容器的末尾新增一個新元素,作為其當前最後一個元素的後繼。val 的內容被複制(或移動)到新元素。

這會使容器的 size 有效地增加一。

引數

val
要複製(或移動)到新元素的值。
成員型別value_type是容器中元素的型別,在 list 中被定義為其第一個模板引數(T).

返回值



)的別名。容器的 allocator 用於分配新元素所需的儲存空間,這可能會在失敗時丟擲異常(對於預設的 allocator,會丟擲bad_alloc如果分配請求不成功,則丟擲)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 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每次讀取一個新整數時向容器新增一個新元素。

複雜度

常量。

迭代器有效性

沒有變化。

資料競爭

容器被修改。
不訪問任何現有包含的元素:併發訪問或修改它們是安全的。

異常安全

強保證:如果丟擲異常,容器沒有發生變化。
如果不支援使用 val 作為引數的 allocator_traits::construct,則會導致“未定義行為”。

另見