📅  最后修改于: 2020-10-20 05:59:50             🧑  作者: Mango
C++ STL Multimap.emplace()函数
C++ multimap emplace()函数用于通过在容器中插入新元素来扩展multimap容器。元素是直接构建的(既不复制也不移动)。
通过给传递给此函数的参数args调用元素的构造函数。
句法
template
iterator emplace (Args&&... args); //since C++ 11
参数
args:转发以构造要插入Multimap的元素的参数。
返回值
C++ emplace()函数指示是否发生了插入,并返回指向新插入元素的迭代器。
复杂度
容器大小的对数。
迭代器有效性
没有变化。
数据竞争
容器已修改。
尽管同时访问出口元素是安全的,但在容器中进行迭代范围并不安全。
异常安全
如果引发异常,则容器中没有任何更改。
例子1
让我们看一个将元素插入到Multimap的简单示例:
#include
#include
输出:
Multimap contains following elements
a = 1
b = 2
b = 4
c = 3
c = 5
在上面的示例中,它只是将具有给定键值对的元素插入到Multimapm中。
例子2
让我们看一个简单的示例,插入元素并检查在multimap中是否允许重复键:
#include
输出:
multimap modified, now contains 3 elements:
(Amita,Accounting) (Deep,Engineering) (Nikita,Accounting)
multimap modified, now contains 4 elements:
(Amita,Accounting) (Deep,Engineering) (Nikita,Accounting) (Nikita,Engineering)
在上面的示例中,元素被插入了Multimap,当您尝试添加相同的键Nikita时,它将允许您插入重复项。
例子3
让我们看一个简单的示例,分别通过将构造函数参数传递给键和值来将元素插入Multimap:
#include
#include
#include
#include
输出:
a => a
a => aaa
b => abcd
c => cccccccccc
在上面的示例中,通过将构造函数参数分别传递给键和值,将元素插入到Multimap中。
例子4
让我们看一个插入元素的简单示例:
#include
#include
输出:
Enter the number of fmly members : 3
Enter the name and age of each member:
Ram 42
Sita 37
Laxman 40
Total memnber of fmly is:3
Details of fmly members:
Name | Age
__________________________
Laxman | 40
Ram | 42
Sita | 37
在上面的示例中,它只是根据用户的选择插入元素。