在C ++ STL中映射emplace_hint()函数

在本文中,我们将讨论C ++ STL中map::emplace_hint()函数的工作,语法和示例。

什么是C ++ STL中的映射?

映射是关联容器,它有助于按特定顺序存储由键值和映射值的组合形成的元素。在映射容器中,数据始终在内部借助其关联的键进行排序。映射容器中的值通过其唯一键访问。

什么是map::emplace_hint()?

map::emplace_hint()是下面的一个函数  header file. This function constructs and inserts an element with a hint into the associated map container.

如果要放置的元素的键是唯一的,则emplace_hint()插入新元素。仅当没有元素具有要插入的值的键时,才发生插入。

语法

map_name.emplace_hint(iterator it, Args&& args);

参数

此函数接受以下参数-

-一个迭代器,可以视为要插入元素位置的提示。

args-我们要放在“ it”位置的参数或值。

返回值

如果插入成功,则函数返回指向插入的新元素的迭代器。否则,它将迭代器返回到容器中已经存在的等效值。

示例

输入值

map<char, int> newmap;
emplace_hint(newmap.end(), ‘a’, 1);

输出结果

a

示例

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace_hint(TP_Map.begin(), 4, 50);
   TP_Map.emplace_hint(TP_Map.begin(), 2, 30);
   TP_Map.emplace_hint(TP_Map.begin(), 1, 10);
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++)
      cout << i->first << "\t" << i->second << endl;
   return 0;
}

输出结果

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
4             50