multiset::insert
Fügt ein Element oder einen Bereich von Elementen in ein Multiset ein.
iterator insert(
const value_type& _Val
);
iterator insert(
const_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 Multiset einzufügende Elements, es sei denn, das 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ügen kann in amortisierter konstanter Zeit anstelle von logarithmischen Zeit auftreten, wenn die Einfügemarke sofort _Where folgt. |
_First |
Die Position des ersten Elements, einem Multiset kopiert werden. |
_Last |
Die Position direkt über dem letzten Element hinaus, einem Multiset kopiert werden. |
Rückgabewert
Die insert-Memberfunktionen gibt einen Iterator zurück, der der Position zeigt, in der das neue Element in das Multiset eingefügt wurde.
Hinweise
Die dritte Memberfunktion fügt die Sequenz von Elementwerten in ein Multiset entsprechend jedes Element ein, das durch einen Iterator im Bereich [_First, _Last) behandelt wird eines angegebenen Multisets.
Die letzten zweiköpfigen Funktionen verhalten sich genauso wie die ersten zwei, außer dass val wird verwendet, um den eingefügten Wert zu erstellen.
Beispiel
// multiset_insert.cpp
// compile with: /EHsc
#include <set>
#include <iostream>
#include <string>
int main( )
{
using namespace std;
multiset <int>::iterator ms1_pIter, ms2_pIter;
multiset <int, less<int> > ms1, ms2;
ms1.insert( 10 );
ms1.insert( 20 );
ms1.insert( 30 );
ms1.insert( 40 );
cout << "The original ms1 =";
for ( ms1_pIter = ms1.begin( ); ms1_pIter != ms1.end( ); ms1_pIter++ )
cout << " " << *ms1_pIter;
cout << "." << endl;
ms1.insert( 20 );
ms1.insert( --ms1.end( ), 50 );
cout << "After the insertions, ms1 =";
for ( ms1_pIter = ms1.begin( ); ms1_pIter != ms1.end( ); ms1_pIter++ )
cout << " " << *ms1_pIter;
cout << "." << endl;
ms2.insert( 100 );
ms2.insert( ++ms1.begin( ), --ms1.end( ) );
cout << "ms2 =";
for ( ms2_pIter = ms2.begin( ); ms2_pIter != ms2.end( ); ms2_pIter++ )
cout << " " << *ms2_pIter;
cout << "." << endl;
// Construct by moving
multiset<string> ms3, ms4;
string str1("a"), str2("b");
ms3.insert(move(str1));
cout << "After the move insertion, ms3 contains: "
<< *ms3.begin() << endl;
ms4.insert(ms4.begin(), move(str2));
cout << "After the move insertion, ms4 contains: "
<< *ms4.begin() << endl;
}
Anforderungen
Header: <set>
Namespace: std