unordered_map::emplace

インプレースで構築された (コピーまたは移動操作が実行されない) 要素を unordered_map に挿入します。

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

パラメーター

パラメーター

説明

args

値が同じ順序付けになる要素が unordered_map にまだ含まれていない場合に、unordered_map に挿入される要素を構築するために転送される引数。

戻り値

pair。その bool コンポーネントは、挿入が行われた場合は true を返し、unordered_map に既に順序の値が等しい要素が含まれている場合は false を返します。そのイテレーター コンポーネントは、新しい要素が挿入されたか要素が既に配置されているアドレスを返します。

このメンバー関数によって返されたペア pr の反復子コンポーネントにアクセスするには pr.first を使用し、この反復子を逆参照するには *(pr.first) を使用します。 このメンバー関数によって返されたペア pr の bool コンポーネントにアクセスするには、pr.second を使用します。

解説

この関数では、反復子や参照は無効になりません。

挿入時、例外がスローされたが、コンテナーのハッシュ関数ではエラーが発生しなかった場合、コンテナーは変更されません。 ハッシュ関数で例外がスローされた場合、結果は未定義になります。

コード例については、「map::emplace」を参照してください。

必要条件

ヘッダー: <unordered_map>

名前空間: std

参照

関連項目

<unordered_map>

unordered_map クラス

標準テンプレート ライブラリ