Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis |
|---|
Diese API ist veraltet.Die Alternative ist unordered_multiset Class. |
Fügt ein Element oder einen Bereich von Elementen in ein hash_multiset ein.
iterator insert(
const value_type& _Val
);
iterator insert(
iterator _Where,
const value_type& _Val
);
template<class InputIterator>
void insert(
InputIterator _First,
InputIterator _Last
);
template<class ValTy>
iterator insert(
ValTy&& _Val
);
template<class ValTy>
iterator insert(
const_iterator _Where,
ValTy&& _Val
);
Parameter
Parameter |
Description |
_Val |
Der Wert eines in das hash_multiset einzufügende Elements, es sei denn, das hash_multiset bereits dieses Element oder, im Allgemeinen, ein - Element enthält, dessen Schlüssel gleichwertig sortiert wird. |
_Where |
Der Position, an der das Suchen für den richtigen Punkt der Einfügung zu starten.(Einfügung kann in amortisierter konstanter Zeit, anstelle von logarithmischen Zeit auftreten, wenn die Einfügemarke sofort _Where folgt.) |
_First |
Die Position des ersten Elements, einem hash_multiset kopiert werden. |
_Last |
Die Position direkt über dem letzten Element hinaus, einem hash_multiset kopiert werden. |
Rückgabewert
Die ersten beiden insert-Memberfunktionen geben einen Iterator zurück, der der Position zeigt, in der das neue Element eingefügt wurde.
Die letzten zwei insert-Memberfunktionen verhalten sich genauso wie die ersten zwei, außer dass sie verschieben Konstrukt der eingefügte Wert.
Hinweise
Einfügen kann in amortisierter konstanter Zeit für die Hinweisversion Einfüge-, anstelle von logarithmischen Zeit auftreten, wenn die Einfügemarke sofort _Where folgt.
Die dritte Memberfunktion fügt die Sequenz von Elementwerten in ein hash_multiset entsprechend jedes Element ein, das durch einen Iterator in des Bereichs [_First, _Last) behandelt wird eines angegebenen hash_multiset.
Beispiel
// hash_multiset_insert.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
int main( )
{
using namespace std;
using namespace stdext;
hash_multiset <int>::iterator hms1_pIter, hms2_pIter;
hash_multiset <int, hash_compare <int, less<int> > > hms1, hms2;
hms1.insert( 10 );
hms1.insert( 20 );
hms1.insert( 30 );
hms1.insert( 40 );
cout << "The original hms1 =";
for ( hms1_pIter = hms1.begin( ); hms1_pIter != hms1.end( );
hms1_pIter++ )
cout << " " << *hms1_pIter;
cout << "." << endl;
hms1.insert( 20 );
hms1.insert( --hms1.end( ), 50 );
cout << "After the insertions, hms1 =";
for ( hms1_pIter = hms1.begin( ); hms1_pIter != hms1.end( );
hms1_pIter++ )
cout << " " << *hms1_pIter;
cout << "." << endl;
hms2.insert( 100 );
hms2.insert( ++hms1.begin( ), --hms1.end( ) );
cout << "hms2 =";
for ( hms2_pIter = hms2.begin( ); hms2_pIter != hms2.end( );
hms2_pIter++ )
cout << " " << *hms2_pIter;
cout << "." << endl;
// move construct an element
hash_multiset<string> hms3, hms4;
string str1("a"), str2("b");
hms3.insert(move(str1));
cout << "After the move insertion, hms3 contains "
<< *hms3.begin() << "." << endl;
hms4.insert(hms4.begin(), move(str1));
cout << "After the move insertion, hms4 contains "
<< *hms4.begin() << "." << endl;
}
Anforderungen
Header: <hash_set>
Namespace: stdext
Hinweis