最終更新日時(UTC):
が更新

履歴 編集

function template
<list>

std::list::emplace(C++11)

template <class... Args>
iterator emplace(const_iterator position, Args&&... args);

概要

任意の位置に直接構築で要素を挿入する。
この関数の引数args...は、要素型Tのコンストラクタ引数である。当関数の内部で要素型Tのコンストラクタを呼び出し、追加する要素を構築する。

第1パラメータpositionで指定された要素の前に追加する。

要件

第1パラメータpositionが、イテレータ範囲[begin(), end()]の間接参照可能なイテレータであること。

戻り値

挿入された要素を指すイテレータ

計算量

定数時間

#include <iostream>
#include <list>
#include <iterator>
#include <utility>
#include <string>

int main()
{
  std::list<std::pair<int, std::string>> ls = {
    {2, "b"},
    {3, "c"},
    {4, "d"}
  };

  ls.emplace(ls.begin(), 1, "a");

  for (const auto& x : ls) {
    std::cout << x.first << ',' << x.second << std::endl;
  };
}

出力

1,a
2,b
3,c
4,d

バージョン

言語

  • C++11

処理系

参照