Biblioteca C ++ Unordered_set - emplace

Descrição

Ele insere um novo elemento no unordered_set se seu valor for único. Este novo elemento é construído no local usando args como argumentos para o construtor do elemento.

Declaração

A seguir está a declaração para std :: unordered_set :: emplace.

C ++ 11

template <class... Args>
pair <iterator,bool> emplace ( Args&&... args );

Parâmetros

args - Esses argumentos são passados ​​para o construtor.

Valor de retorno

Ele retorna se a função inserir com sucesso o elemento (porque nenhum outro elemento existia com o mesmo valor), a função retorna um par com um iterador para o elemento recém-inserido e um valor true.

Exceções

A exceção é lançada se qualquer objeto de comparação de elemento lançar uma exceção.

Observe que os argumentos inválidos causam um comportamento indefinido.

Complexidade de tempo

tempo constante.

Exemplo

O exemplo a seguir mostra o uso de std :: unordered_set :: emplace.

#include <iostream>
#include <string>
#include <unordered_set>

int main () {
   std::unordered_set<std::string> myset;

   myset.emplace ("kittu");
   myset.emplace ("prasad");
   myset.emplace ("sairamkrishna");

   std::cout << "myset containing:";
   for (const std::string& x: myset) std::cout << " " << x;

   std::cout << std::endl;
   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

myset containing: sairamkrishna prasad kittu