插入构造的元素就地到映射中,具有位置提示。
template<class ValTy>
pair<iterator, bool> emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
参数
Parameter |
说明 |
_Val |
要插入的元素的值设置为 map Class,除非 map,通常,已包含该元素或键相同地排序的元素。 |
_Where |
有关起始位置的提示搜索正确位置插入。 |
返回值
map::emplace 成员函数返回bool元素返回true的对,如果插入是使和错误的,如果 map 已经包含一个键具有等效值顺序,并且,迭代器元素返回地址插入或新元素的元素已找到其中的元素。
访问对的迭代器元素 pr 由该成员函数,使用 pr.first返回和取消引用它,使用 *(pr.first)。为对 bool 元素 pr 由该成员函数返回的访问,请使用 pr.second。
备注
元素的 value_type 是对,因此,元素的值将排序的匹配的第一个元素等于键值和第二个元素为等于元素的数据值。
示例
// map_emplace_hint.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
#include <string>
int main( ) {
using namespace std;
map<int, string> m1;
pair<int, string> is1(1, "a");
m1.emplace(m1.begin(), move(is1));
cout << "After the emplace insertion, m1 contains:" << endl
<< " " << m1.begin()->first
<< " => " << m1.begin()->second
<< endl;
}
Output
After the emplace insertion, m1 contains:
1 => a
要求
标头: <map>
命名空间: std