C++ STL 中的 map emplace()


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

什么是 C++ STL 中的 Map?

Map 是关联容器,它可以方便地以特定顺序存储由键值对组成的元素。在 map 容器中,数据内部始终使用关联键进行排序。map 容器中的值可以通过其唯一的键进行访问。

什么是 map::emplace()?

map::emplace() 是一个位于 <map> 头文件中的函数。此函数构造并将一个元素插入到关联的 map 容器中。

如果要插入的元素的键是唯一的,则 emplace() 会插入新元素。只有当没有与要插入的值具有相同键的元素时,才会进行插入。此函数的工作方式与 insert() 相同,它会将现有对象复制或移动到容器中。

如果成功插入元素,则容器的大小将增加 1。

语法

map_name.emplace(Args&& args);

参数

此函数接受以下参数:

args − 我们想要放置或插入的参数或值。

返回值

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

输入

map<char, int> newmap;
emplace( ‘a’, 1);

输出

a

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace(4, 50);
   TP_Map.emplace(2, 30);
   TP_Map.emplace(1, 10);
   TP_Map.emplace(1, 20);
   TP_Map.emplace(1, 30);
   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

更新于:2020年4月15日

645 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.