hash_set::insert
Observaçã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: