set::emplace_hint()是C++ STL中的内置函数,可在集合中插入新元素。在函数的参数中传递一个位置,该位置作为提示,在将元素插入其当前位置之前从搜索操作开始。该位置仅有助于使过程更快,而不能确定要在哪里插入新元素。仅在set容器的属性之后插入新元素。
用法:
set_name.emplace_hint(iterator position, value)
参数:该函数接受两个强制性参数,如下所述:
- position:该参数用作在元素当前位置插入元素之前从中进行搜索操作的提示。该位置仅有助于加快处理速度,而不能确定要在哪里插入新元素。仅在set容器的属性之后插入新元素。
- value:这指定要插入到集合容器中的元素。如果该值以前不存在,则将其插入到集合中。
返回值:该函数返回一个迭代器,该迭代器指向插入位置。如果在参数中传递的元素已经存在,则它将返回一个迭代器,该迭代器指向现有元素所在的位置。
以下示例程序旨在说明上述函数。
// CPP program to demonstrate the
// set::emplace_hint() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
set<int> s;
auto it = s.emplace_hint(s.begin(), 1);
// stores the position of 2's insertion
it = s.emplace_hint(it, 2);
// fast step as it directly
// starts the search step from
// position where 3 was last inserted
s.emplace_hint(it, 3);
// this is a slower step as
// it starts checking from the
// position where 3 was inserted
// but 0 is to be inserted before 1
s.emplace_hint(it, 0);
// prints the set elements
for (auto it = s.begin(); it != s.end(); it++)
cout << *it << " ";
return 0;
}
输出:
0 1 2 3
相关用法
- C++ div()用法及代码示例
- C++ fma()用法及代码示例
- C++ log()用法及代码示例
- C++ regex_iterator()用法及代码示例
- C++ map key_comp()用法及代码示例
- C++ imag()用法及代码示例
- C++ wcsncpy()用法及代码示例
- C++ real()用法及代码示例
- C++ valarray tan()用法及代码示例
- C++ valarray pow()用法及代码示例
注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 set emplace_hint() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。