C++ set emplace_hint()

30 Aug 2024 | 3 分钟阅读

C++ set emplace_hint() 函数用于通过将新元素插入容器中(使用提示作为元素位置)来扩展 set 容器。元素是直接构造的(既不复制也不移动)。

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

只有当键不存在时才进行插入。

语法

参数

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

position:插入新元素的建议位置。

返回值

它返回一个指向新插入元素的迭代器。如果元素已存在,则插入失败并返回指向现有元素的迭代器。

复杂度

如果未指定位置,则复杂度将为容器大小的对数。

如果指定了位置,则复杂度将为分摊常数。

迭代器有效性

无变化。

数据竞争

容器被修改。

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

异常安全

如果抛出异常,容器中没有变化。

示例 1

让我们看一个简单的例子来将元素插入到集合中

输出

Set contains following elements
10
20
30
40 
50
60

在上面的例子中,它只是将给定值处的元素插入到 set m 中给定位置。

示例 2

让我们看一个简单的例子

输出

set starting data: 3 elements: 
Rakesh  Ram  Sunil  

set modified, now contains 4 elements: 
Deep  Rakesh  Ram  Sunil

示例 3

让我们看一个简单的例子,将元素插入到给定位置的 set 中

输出

myset contains: [a] [b] [c]

示例 4

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

输出

Enter the number of fmly members : 4
Enter the name of each member: 
Deep
Sonu
Ajeet
Bob

Total memnber of fmly is:4
Details of fmly members: 

Name 
 ________________________
 Ajeet 
 Bob 
 Deep 
 Sonu

在上面的例子中,它只是将用户选择的元素插入到 set 的开头。


下一个主题Set key_comp() 函数