当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ unordered_set emplace_hint()用法及代码示例


unordered_set::emplace_hint()函数是C++ STL中的内置函数,仅当要插入的值唯一且具有给定提示时,才在unordered_set中插入新元素。

用法:

unordered_set_name.emplace_hint( position, value )

参数:该函数接受上述和以下描述的两个参数:


  • position:此参数用于描述插入操作的位置。
  • value:此参数用于保存需要插入的内容。

返回值:如果unordered_set中不存在该值,则该函数将插入该值并返回一个指向插入元素的迭代器。否则,如果unordered_set中已经存在该值,则该函数返回指向该元素的迭代器。

以下示例程序旨在说明C++ STL中的unordered_set::emplace_hint()函数:

示例1:

// CPP program to illustrate 
// unordered_set::emplace_hint() function 
#include <iostream> 
#include <unordered_set> 
using namespace std; 
  
// main program 
int main() 
{ 
  
    // Initialize an unordered_set 
    unordered_set<int> uset = { 20, 40, 50, 60 }; 
  
    // Insert an element that is not present 
    uset.emplace_hint(uset.begin(), 80); 
  
    // Display uset 
    cout << "uset: "; 
    for (auto it = uset.begin(); it != uset.end(); it++) 
        cout << *it << " "; 
}
输出:
uset: 80 20 40 50 60

示例2:

// CPP program to illustrate 
// unordered_set::emplace_hint() function 
#include <iostream> 
#include <unordered_set> 
using namespace std; 
  
// main program 
int main() 
{ 
  
    // Initialize an unordered_set 
    unordered_set<int> uset = { 20, 40, 50, 60 }; 
  
    // Try to Insert an element that is not present 
    uset.emplace_hint(uset.begin(), 50); 
  
    // Display uset 
    cout << "uset: "; 
    for (auto it = uset.begin(); it != uset.end(); it++) 
        cout << *it << " "; 
}
输出:
uset: 60 50 40 20


相关用法


注:本文由纯净天空筛选整理自tufan_gupta2000大神的英文原创作品 unordered_set emplace_hint() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。