C++ multiset emplace()

30 Aug 2024 | 3 分钟阅读

C++ Multiset 的 emplace() 函数用于通过向容器中插入新元素来扩展 multiset 容器。元素是直接构造的(既不复制也不移动)。

元素的构造函数通过向此函数传递参数 args 来调用。

语法

参数

参数:用于构造要插入到容器中的元素的参数。

返回值

emplace() 函数返回一个布尔对,指示插入是否发生,并返回一个指向新插入元素的迭代器。

复杂度

容器大小的对数。

迭代器有效性

无变化。

数据竞争

容器被修改。

在容器中迭代范围是不安全的,尽管并发访问现有元素是安全的。

异常安全

如果抛出异常,multiset 容器中不会发生任何更改。

示例 1

让我们看一个将元素插入多重集合的简单示例

输出

Multiset contains following elements
a, a, b, b, c,

在上面的示例中,它只是将给定值的元素插入到 multiset m 中。

示例 2

让我们看一个简单的示例,插入元素并检查重复键

输出

multiset modified, now contains 3 elements: (Deep) (Kesharwani) (Nikita) 

multiset modified, now contains 4 elements: (Deep) (Kesharwani) (Nikita) (Nikita)

示例 3

让我们看一个简单的示例,查找插入元素的和

输出

Sum of elements is: 16

示例 4

让我们看一个插入元素的简单示例

输出

Enter the number of family members: 3
Enter the name of each member: 
Bob
Robin
David

Total member of family is: 3
Details of family members: 

Name 
 ________________________
Bob 
David 
Robin

在上面的示例中,它只是根据用户的选择插入元素。

下一个主题C++ multiset