unordered_set::emplace
構築された要素を適切な場所に追加します。
template<class ValTy>
pair<iterator, bool> emplace(ValTy&& val);
パラメーター
パラメーター |
Description |
ValTy |
インプレース コンストラクターの引数の型。 |
val |
挿入する値。 |
解説
このメンバー関数は、キーの順序が val と同じである要素 X がシーケンス内に存在するかどうかを調べます。存在しない場合は、val を使用してそのような要素 X を作成します。この関数は、さらに、X を指定する反復子 where を調べます。挿入が行われた場合は、std::pair(where, true) を返します。それ以外の場合は、std::pair(where, false) を返します。
単一要素の挿入時に例外がスローされた場合、コンテナーは変更されず、再度例外がスローされます。複数要素の挿入時に例外がスローされた場合、コンテナーは安定かつ未指定の状態になり、再度例外がスローされます。
使用例
// std_tr1__unordered_set__unordered_set_emplace.cpp
// compile with: /EHsc
#include <unordered_set>
#include <iostream>
#include <string>
int main()
{
unordered_set< string> c1;
string str1("a");
c1.emplace(move(str1));
cout << "After the emplace insertion, c1 contains: "
<< *c1.begin() << endl;
return (0);
}
必要条件
ヘッダー : <unordered_set>
名前空間: std