- flat_map[meta header]
- std[meta namespace]
- flat_multimap[meta class]
- function template[meta id-type]
- cpp23[meta cpp]
template <class... Args>
iterator
emplace_hint(const_iterator hint,
Args&&... args); // (1) C++23
template <class... Args>
constexpr iterator
emplace_hint(const_iterator hint,
Args&&... args); // (1) C++26要素が配置されるべき場所を示唆するパラメータ hint を使って、コンテナに新しい要素を挿入する。要素は直接構築される(コピーもムーブもされない)。要素のコンストラクタはこの関数に渡された引数と同じ引数で呼ばれる。
hint: 新しい要素をどこへ挿入するかを示唆するために使われるイテレータargs...: 要素のコンストラクタへ転送される引数パック
追加された要素を指すイテレータ。
コンテナサイズ(size())に対して線形
#include <flat_map>
#include <iostream>
int main()
{
std::flat_multimap<int, char> fm;
fm.emplace(1, 'A');
// キー2の要素が最後尾に追加されることが事前にわかっているので、fm.end()をヒントとして与える
fm.emplace_hint(fm.end(), 2, 'B');
for (const auto& [key, value] : fm) {
std::cout << key << " : " << value << std::endl;
}
}- emplace_hint[color ff0000]
- fm.emplace[link emplace.md]
- fm.end()[link end.md]
1 : A
2 : B
- C++23
- Clang: ??
- GCC: ??
- Visual C++: ??
| 名前 | 説明 |
|---|---|
flat_multimap::insert |
要素を挿入する |
flat_multimap::insert_range |
Rangeを挿入する |
flat_multimap::emplace |
要素を直接構築する |