Compartilhar via


hash_set::insert

ObservaçãoObservação

este API é obsoleto.Uma alternativa é unordered_set Class.

Insere um elemento ou um intervalo de elementos em hash_set.

pair<iterator, bool> insert(
   const value_type& _Val
);
iterator insert(
   iterator _Where,
   const value_type& _Val
);
template<class InputIterator>
   void insert(
      InputIterator _First,
      InputIterator _Last
);

Parâmetros

Parâmetro

Descrição

_Val

O valor de um elemento a ser inserido em hash_set a menos que hash_set já contém esse elemento ou, mais geralmente, um elemento cuja chave é ordenada equivalente.

_Where

O local para iniciar a pesquisa pelo ponto correto de inserção.(Inserção pode ocorrer em tempo amortizados constantes, em vez de tempo logarítmicas se, o ponto de inserção imediatamente seguinte _Where.)

_First

A posição do primeiro elemento ser copiado de hash_set.

_Last

A posição apenas além do último elemento ser copiado de hash_set.

Valor de retorno

A primeira função de membro de insert retorna um par cujo componente de bool retorna true se ele faz uma inserção e false se hash_set já continha um elemento cuja chave tem um valor equivalente em ordem, e cujos o componente de iterador retorna o endereço onde um novo elemento foi inseridos ou onde o elemento já foi encontrado.

Para acessar o componente de iterador de um par pr retornado por essa função de membro, use pr.firste desreferenciar-lo, use *(pr.first).Para acessar o componente de bool de um par pr retornado por essa função de membro, use pr.second, e desreferenciar-lo, use *(pr.second).

A segunda função de membro de insert retorna um iterador que aponta para a posição onde o novo elemento ser inserido em hash_set.

Comentários

A terceira função de membro insere a seqüência de valores de elemento em hash_set que corresponde a cada elemento tratado por um iterador no intervalo [_First, _Last) de hash_setespecificado.

Exemplo

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

int main( )
{
   using namespace std;
   using namespace stdext;
   hash_set <int>::iterator hs1_pIter, hs2_pIter;

   hash_set <int, hash_compare <int, less<int> > > hs1, hs2;
   hs1.insert( 10 );
   hs1.insert( 20 );
   hs1.insert( 30 );
   hs1.insert( 40 );

   cout << "The original hs1 =";
   for ( hs1_pIter = hs1.begin( ); hs1_pIter != hs1.end( );
         hs1_pIter++ )
      cout << " " << *hs1_pIter;
   cout << "." << endl;

   pair< hash_set<int>::iterator, bool > pr;
   pr = hs1.insert( 10 );

   if(pr.second == true)
   {
      cout << "The element 10 was inserted in hs1 successfully."
           << endl;
   }
   else
   {
      cout << "The element 10 already exists in hs1 and"
           << " *( pr.first ) = " << *( pr.first ) << "."
           << endl;
   }

   hs1.insert( --hs1.end( ), 50 );

   cout << "After the insertions, hs1 =";
   for ( hs1_pIter = hs1.begin( ); hs1_pIter != hs1.end( );
         hs1_pIter++ )
      cout << " " << *hs1_pIter;
   cout << "." << endl;

   hs2.insert( 100 );
   hs2.insert( ++hs1.begin( ), --hs1.end( ) );

   cout << "hs2 =";
   for ( hs2_pIter = hs2.begin( ); hs2_pIter != hs2.end( );
         hs2_pIter++ )
      cout << " " << *hs2_pIter;
   cout << "." << endl;
}
  
  
  
  

Requisitos

Cabeçalho: <hash_set>

stdext denamespace:

Consulte também

Referência

hash_set Class

Standard Template Library