Поделиться через


hash_set::emplace_hint

Примечание

Этот API устарел.Альтернативой является Класс unordered_set.

Вставляет элемент построен на месте в hash_set.

template<class ValTy>
    iterator emplace(
        const_iterator _Where,
        ValTy&& _Val
);

Параметры

Параметр

Описание

_Val

Значение элемента, который необходимо вставить в Класс hash_set, если hash_set уже не содержит этот элемент, или в более общем случае элемент ключ которого соответствующе упорядочен.

_Where

Место, чтобы начать поиск нужной точки вставки. (Вставить может произойти в амортизированном постоянно времени, а не логарифмического времени, если точка вставки следует сразу за _Where.),

Возвращаемое значение

Функцию-член hash_set::emplace возвращает итератор, указывающим на позиции, где новый элемент был представлен в hash_set или, где находится существующий элемент с соответствующий заказ.

Заметки

Вставка может произойти в амортизированном постоянно времени, а не логарифмического времени, если точка вставки следует сразу за _Where.

В Visual C++ .NET 2003 C, элементы файла заголовка <hash_map> и <hash_set> больше не в пространстве имен std, а перемещается в пространство имен stdext. Дополнительные сведения см. в разделе Пространство имен stdext.

Пример

// hash_set_emplace_hint.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
#include <string>

int main( )
{
   using namespace std;
   using namespace stdext;
   hash_set<string> hs3;
   string str1("a");

   hs3.insert(hs3.begin(), move(str1));
   cout << "After the emplace insertion, hs3 contains "
      << *hs3.begin() << "." << endl;
}
  

Требования

Заголовок:<hash_set>

Пространство имен: stdext

См. также

Ссылки

Класс hash_set

Библиотека стандартных шаблонов