unordered_multiset::emplace_hint()是C++ STL中的内置函数,该函数在unordered_multiset容器中插入新元素。它从参数中提供的位置开始搜索元素的插入点。该位置仅用作提示,它不决定要进行插入的位置。插入会根据容器的标准自动在该位置进行。它将容器的尺寸增加了一个。
用法:
unordered_multiset_name.emplace_hint(iterator position, val)
参数:该函数接受两个强制性参数,如下所述:
- position:它指定迭代器,该迭代器指向从中开始搜索插入操作的位置。
- val:它指定要插入到容器中的元素。
返回值:它返回一个指向新插入元素的迭代器。
以下示例程序旨在说明上述函数:
示例1:
// C++ program to illustrate the
// unordered_multiset::emplace_hint()
#include <bits/stdc++.h>
using namespace std;
int main()
{
// declaration
unordered_multiset<int> sample;
// inserts element using emplace_hint()
// fast insertions as the search starts
// from the previously inserted positions
auto it = sample.emplace_hint(sample.begin(), 11);
it = sample.emplace_hint(it, 11);
it = sample.emplace_hint(it, 11);
// slow insertions as the search starts from the
// beginning of the containers
sample.emplace_hint(sample.begin(), 12);
sample.emplace_hint(sample.begin(), 13);
sample.emplace_hint(sample.begin(), 13);
sample.emplace_hint(sample.begin(), 14);
cout << "Elements: ";
for (auto it = sample.begin(); it != sample.end(); it++)
cout << *it << " ";
return 0;
}
输出:
Elements: 14 11 11 11 12 13 13
示例2:
// C++ program to illustrate the
// unordered_multiset::emplace_hint() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// declaration
unordered_multiset<char> sample;
// inserts element using emplace_hint()
// fast insertions as the search starts
// from the previously inserted positions
auto it = sample.emplace_hint(sample.begin(), 'a');
it = sample.emplace_hint(it, 'a');
it = sample.emplace_hint(it, 'a');
it = sample.emplace_hint(it, 'b');
// slow insertions as the search starts from the
// beginning of the containers
sample.emplace('b');
sample.emplace('c');
sample.emplace('d');
cout << "Elements: ";
for (auto it = sample.begin(); it != sample.end(); it++)
cout << *it << " ";
return 0;
}
输出:
Elements: d a a a b b c
相关用法
- C++ log()用法及代码示例
- C++ div()用法及代码示例
- C++ fma()用法及代码示例
- C++ map key_comp()用法及代码示例
- C++ wcsncpy()用法及代码示例
- C++ imag()用法及代码示例
- C++ real()用法及代码示例
- C++ valarray end()用法及代码示例
- C++ regex_iterator()用法及代码示例
- C++ valarray cos()用法及代码示例
注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 unordered_multiset emplace_hint() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。