在本文中,我们将讨论C ++ STL中multimap::emplace()函数的工作,语法和示例。
多图是关联容器,类似于图容器。它还有助于按特定顺序存储由键值和映射值的组合形成的元素。在多图容器中,可以有多个与同一键关联的元素。始终在内部借助关联的键对数据进行排序。
multimap::emplace()函数是C ++ STL中的内置函数,在<map>头文件中定义。emplace()
用于在多图容器中构造和插入新元素。此功能有效地将容器的大小增加了1。
此功能类似于插入功能,该功能复制或移动对象以将元素插入容器。
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(){ //创建容器 multimap<int, int> mul; //使用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