Namespaces
Variants

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

From cppreference.net

void push_back ( const T & value ) ;
(1) (constexpr C++26以降)
void push_back ( T && value ) ;
(2) (C++11以降)
(constexpr C++26以降)

コンテナの末尾に value のコピーを追加します。

すべてのイテレータ( end() イテレータを含む)が無効化されます。参照は無効化されません。

目次

パラメータ

value - 追加する要素の値

型要件
-
以下の条件が満たされる場合、動作は未定義です:
1) T CopyInsertable deque に満たさない場合。
2) T MoveInsertable deque に満たさない場合。
(C++11以降)

計算量

定数。

例外

例外がスローされた場合( Allocator::allocate() または要素のコピー/ムーブコンストラクタ/代入演算子による可能性あり)、この関数は何も効果を持ちません( strong exception guarantee )。

#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 を作成する
(関数テンプレート)