名前空間
変種
操作

std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::emplace

提供: cppreference.com
 
 
 
 
template< class... Args >
iterator emplace( Args&&... args );
(C++11以上)

指定された args を使用してその場で構築される新しい要素をコンテナに挿入します。

emplace を注意深く使用すれば、不必要なコピーやムーブを避けながら新しい要素を構築することができます。 新しい要素のコンストラクタは、 emplace に与えられたものとまったく同じ引数が std::forward<Args>(args)... によって転送されて、呼ばれます。


挿入によって再ハッシュが発生した場合は、すべてのイテレータが無効化されます。 そうでなければ、イテレータは影響を受けません。 参照は無効化されません。 再ハッシュは新しい要素数が max_load_factor()*bucket_count() より大きい場合にのみ発生します。

目次

[編集] 引数

args - 要素のコンストラクタに転送される引数

[編集] 戻り値

挿入された要素を指すイテレータを返します。

[編集] 例外

何らかの操作によって例外が投げられた場合、この関数は何の効果も持ちません。

[編集] 計算量

平均的なケースでは償却定数時間。 ワーストケースではコンテナのサイズに比例。

[編集]

[編集] 関連項目

ヒントを使用して要素をその場で構築します
(パブリックメンバ関数) [edit]
要素またはノード (C++17以上)を挿入します
(パブリックメンバ関数) [edit]