名前空間
変種
操作

std::map::emplace_hint

提供: cppreference.com
< cpp‎ | container‎ | map
template <class... Args>
iterator emplace_hint( const_iterator hint, Args&&... args );
(C++11およびそれ以降)

hint の直前の位置に可能な限り近い位置に新しい要素が挿入されます。 要素はその場で構築されます。 つまり、コピーもムーブも行われません。

要素の型 (value_type、つまり std::pair<const Key, T>) のコンストラクタは、この関数に供給されたものとまったく同じ引数が、 std::forward<Args>(args)... によって転送されて、呼ばれます。

どのイテレータも参照も無効化されません。

目次

[編集] 引数

hint - 前に新しい要素が挿入される位置を指すイテレータ
args - 要素のコンストラクタに転送される引数

[編集] 戻り値

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

要素がすでに存在するために挿入が失敗した場合は、その等しいキーを持つ既存の要素を指すイテレータを返します。

[編集] 例外

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

[編集] 計算量

一般的にはコンテナのサイズの対数。 新しい要素が hint の直前に挿入される場合は償却定数時間。

[編集] 関連項目

(C++11)
要素をその場で構築します
(パブリックメンバ関数) [edit]
要素またはノード (C++17およびそれ以降)を挿入します
(パブリックメンバ関数) [edit]