unordered_set::emplace
新增項目建構中的位置。
template<class ValTy>
pair<iterator, bool> emplace(ValTy&& val);
參數
參數 |
描述 |
ValTy |
在就地的建構函式的引數型別。 |
val |
若要插入的值。 |
備註
成員函式會判斷是否項目X存在的索引鍵有對等排序的順序val。 如果沒有,就會建構這類項目X與val。 此函式接著會判斷 iterator where來指定X。 如果插入就會發生,則函數會傳回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>
Namespace: 標準