最終更新日時:
が更新

履歴 編集

function
<map>

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

template <class... Args>
pair<iterator, bool> emplace(Args&&... args);

概要

コンテナに新しい要素を挿入する。要素は直接構築される(コピーもムーブもされない)。要素のコンストラクタはこの関数に渡された引数を与えることによって呼ばれる。

パラメータ

  • args... : 要素のコンストラクタへ転送される引数パック。

戻り値

挿入されたかどうかを示す bool と、挿入された要素へのイテレータからなる pair を返す。挿入されなかったときは、既存要素へのイテレータを返す。

計算量

コンテナサイズについて対数時間。

#include <iostream>
#include <map>
#include <utility>
#include <tuple>

int main()
{
  std::map<int, char> m;

  m.emplace( std::piecewise_construct, std::make_tuple(1), std::make_tuple('A') );

  std::cout << std::get<0>( *m.begin() ) << " " << std::get<1>( *m.begin() ) << std::endl;

  return 0;
}

出力

1 A

バージョン

言語

  • C++11

処理系

関連項目

名前 説明
map::emplace_hint ヒントを使って要素を直接構築する
map::insert 要素を挿入する

参照