Udostępnij za pośrednictwem


multiset::insert

Wstawia element lub zakres elementów do zestaw wielokrotny.

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
);

Parametry

Parametr

Opis

_Val

Wartość elementu wstawiony zestaw wielokrotny, chyba że zestaw wielokrotny już zawiera ten element lub bardziej ogólnie, element, którego klucz jest równoważnie uporządkowane.

_Where

Miejsce, aby rozpocząć wyszukiwanie dla prawidłowego punktu wstawiania.Wstawiania może wystąpić w amortized czasie stała zamiast czasu logarytmiczna, jeśli punkt wstawiania następuje bezpośrednio _Where.

_First

Pozycja pierwszego elementu z zestaw wielokrotny.

_Last

Pozycja tylko poza ostatni element do skopiowania z zestaw wielokrotny.

Wartość zwracana

Wstawić funkcji elementów członkowskich zwraca iterację, który wskazuje miejsce, gdy nowy element został wstawiony zestaw wielokrotny.

Uwagi

Trzecią funkcję Członkowskie wstawia sekwencja wartości elementów do zestaw wielokrotny odpowiadające każdemu elementowi adresowane przez iterację z zakresu [_First, _Last) z określony zestaw wielokrotny.

Funkcje składowe dwóch ostatnich, działają tak samo jako pierwsze dwa, z wyjątkiem val jest używana do skonstruowania wartości wstawione.

Przykład

// 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;
}
  
  
  
  

Wymagania

Nagłówek: <set>

Obszar nazw: std

Zobacz też

Informacje

multiset Class

Standardowa biblioteka szablonu