名稱空間
變體
操作

std::deque<T,Allocator>::push_back

來自 cppreference.com
< cpp‎ | 容器‎ | deque
 
 
 
 
void push_back( const T& value );
(1)
void push_back( T&& value );
(2) (C++11 起)

將給定元素value新增到容器末尾。

1) 新元素初始化為value的副本。
2)value移動到新元素中。

所有迭代器(包括 end() 迭代器)都將失效。無引用失效。

目錄

[編輯] 引數

- 要新增的元素值
型別要求
-
為了使用過載 (1),T必須滿足CopyInsertable的要求。
-
為了使用過載 (2),T必須滿足MoveInsertable的要求。

[編輯] 返回值

(無)

[編輯] 複雜度

常數時間。

[編輯] 異常

如果丟擲異常(可能是由於 Allocator::allocate() 或元素複製/移動建構函式/賦值運算子導致),此函式沒有效果(強異常保證)。

[編輯] 示例

#include <iomanip>
#include <iostream>
#include <string>
#include <deque>
 
int main()
{
    std::deque<std::string> letters;
 
    letters.push_back("abc");
    std::string s{"def"};
    letters.push_back(std::move(s));
 
    std::cout << "std::deque letters holds: ";
    for (auto&& e : letters)
        std::cout << std::quoted(e) << ' ';
 
    std::cout << "\nMoved-from string s holds: " << std::quoted(s) << '\n';
}

可能的輸出

std::deque letters holds: "abc" "def"
Moved-from string s holds: ""

[編輯] 參閱

就地構造元素於結尾
(公共成員函式) [編輯]
插入元素到起始
(公共成員函式) [編輯]
移除末元素
(公共成員函式) [編輯]
建立從引數推斷型別的std::back_insert_iterator
(函式模板) [編輯]