多重映射::emplace() 在 C++ STL 中


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

什么是 C++ STL 中的 Multimap?

Multimap 是关联容器,类似于 map 容器。它还有助于存储由键值和已映射值的组合形成的元素,并按照特定顺序。在 multimap 容器中,可以有多个元素与同一键关联。数据始终借助于其关联键进行内部排序。

什么是 multimap::emplace()?

multimap::emplace() 函数是 C++ STL 中的一个内置函数,在 <map> 头文件中定义。emplace() 用于构造并插入一个新元素到 multimap 容器中。此函数有效地将容器的大小增加了 1。

此函数类似于 insert 函数,该函数复制或移动对象以将元素插入容器中。

语法

multimap_name.emplace(Args& val);

参数

该函数接受以下参数(多个):

  • val — 这是我们想要插入的元素。

返回值

此函数返回一个迭代器,表示置入/插入元素的位置。

输入

std::multimap<char, int> odd, eve;
odd.insert({‘a’, 1});
odd.emplace({‘b’, 3});

输出

Odd: a:1 b:3

示例

 实时演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   //create the container
   multimap<int, int> mul;
   //insert using emplace
   mul.emplace(1, 10);
   mul.emplace(4, 20);
   mul.emplace(5, 30);
   mul.emplace(2, 40);
   mul.emplace(3, 50);
   mul.emplace(4, 60);
   cout << "\nElements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto i = mul.begin(); i!= mul.end(); i++){
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

输出

如果运行上述代码,将生成以下输出 −

Elements in multimap is :
KEY ELEMENT
1 10
2 40
3 50
4 20
4 60
5 30

更新于: 22-04-2020

194 次浏览

启动你的职业生涯

完成课程并获得认证

开始
广告
© . All rights reserved.