Sdílet prostřednictvím


hash_multiset::insert

[!POZNÁMKA]

Toto rozhraní API je zastaralé.Alternativou je unordered_multiset Class.

Vloží prvek nebo rozsahu prvků hash_multiset.

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

Parametry

Parametr

Description

_Val

Hodnota prvku vložen hash_multiset, pokud hash_multiset již obsahuje prvku nebo obecněji, element, jehož klíč je ekvivalentně objednané.

_Where

Místo spuštění hledání správný bod vložení.(Vložení může dojít v amortized konstantní čas místo logaritmické času, pokud bod vložení následuje hned _Where.)

_First

Pozice prvního prvku zkopírovány z hash_multiset.

_Last

Pozice za poslední prvek zkopírovány z hash_multiset.

Vrácená hodnota

První dva Vložení členské funkce vrátit iterátor, který odkazuje na umístění, kam byl vložen nový prvek.

Poslední dva Vložení členské funkce chovat stejně jako první dva až na to, že přesunou konstrukce vložené hodnoty.

Poznámky

Vložení může dojít v amortized konstantní čas pro verzi nápovědy vložit místo logaritmické času, pokud bod vložení následuje hned _Where.

Třetí členské funkce vloží do hash_multiset, každý prvek adresovány iterace v rozsahu odpovídajícím pořadí hodnot prvků [_First, _Last) ze zadaného hash_multiset.

Příklad

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

Požadavky

Záhlaví: <hash_set>

Obor názvů: stdext

Viz také

Referenční dokumentace

hash_multiset Class

Standardní šablona knihovny