C ++ Set Library - função emplace

Descrição

Ele insere um novo elemento no conjunto.

Declaração

A seguir estão as maneiras em que std :: set :: emplace funciona em várias versões C ++.

C ++ 98

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

C ++ 11

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

Valor de retorno

Ele retorna um par de um iterador para o elemento recém-inserido e um valor true.

Exceções

Se uma exceção for lançada, não haverá mudanças no contêiner.

Complexidade de tempo

Depende do tamanho do contêiner.

Exemplo

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

#include <iostream>
#include <set>
#include <string>

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

   myset.emplace("foo");
   myset.emplace("bar");
   auto ret = myset.emplace("bar");

   if (!ret.second) std::cout << "bar already exists in myset\n";

   return 0;
}

O programa acima será compilado e executado corretamente.

bar already exists in myset