Freigeben über


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

Siehe auch

Referenz

multiset Class

Standardvorlagenbibliothek