Sdílet prostřednictvím


hash_multimap::insert

[!POZNÁMKA]

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

Vloží prvek nebo rozsahu prvků hash_multimap.

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

Description

_Val

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

_Where

Nápovědu týkající se místo, kde začít hledat správný bod vložení.

_First

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

_Last

Pozice za poslední prvek zkopírovat z mapy.

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

Value_type prvku je pár, takže hodnota prvku bude objednané pár rovna hodnotě datového prvku druhého součásti a první komponenta, která je rovna hodnotě klíče.

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 mapy, odpovídající každému prvku adresovány iterace v rozsahu hodnoty elementu sekvence [_First, _Last) určité množině.

Příklad

// hash_multimap_insert.cpp
// compile with: /EHsc
#include <hash_map>
#include <iostream>
#include <string>

int main( )
{
   using namespace std;
   using namespace stdext;
   hash_multimap <int, int>::iterator hm1_pIter, hm2_pIter;

   hash_multimap <int, int> hm1, hm2;
   typedef pair <int, int> Int_Pair;

   hm1.insert ( Int_Pair ( 1, 10 ) );
   hm1.insert ( Int_Pair ( 2, 20 ) );
   hm1.insert ( Int_Pair ( 3, 30 ) );

   cout << "The original key values of hm1 =";
   for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( );
      hm1_pIter++ )
      cout << " " << hm1_pIter -> first;
   cout << "." << endl;

   cout << "The original mapped values of hm1 =";
   for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( ); 
      hm1_pIter++ )
      cout << " " << hm1_pIter -> second;
   cout << "." << endl;

   hm1.insert ( Int_Pair ( 1, 10 ) );

   // The hint version of insert
   hm1.insert( --hm1.end( ), Int_Pair ( 4, 40 )  );

   cout << "After the insertions, the key values of hm1 =";
   for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( ); 
      hm1_pIter++ )
      cout << " " << hm1_pIter -> first;
   cout << "," << endl;

   cout << " and the mapped values of hm1 =";
   for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( ); 
      hm1_pIter++ )
      cout << " " << hm1_pIter -> second;
   cout << "." << endl;

   hm2.insert ( Int_Pair ( 10, 100 ) );

   // The templatized version inserting a range
   hm2.insert( ++hm1.begin( ), --hm1.end( ) );

   cout << "After the insertions, the key values of hm2 =";
   for ( hm2_pIter = hm2.begin( ); hm2_pIter != hm2.end( ); 
      hm2_pIter++ )
      cout << " " << hm2_pIter -> first;
   cout << "," << endl;

   cout << " and the mapped values of hm2 =";
   for ( hm2_pIter = hm2.begin( ); hm2_pIter != hm2.end( ); 
      hm2_pIter++ )
      cout << " " << hm2_pIter -> second;
   cout << "." << endl;

    // The templatized versions move constructing elements
    hash_multimap<int, string> hm3, hm4;
    pair<int, string> is1(1, "a"), is2(2, "b");

    hm3.insert(move(is1));
    cout << "After the move insertion, hm3 contains:" << endl
      << " " << hm3.begin()->first
      << " => " << hm3.begin()->second
      << endl;

    hm4.insert(hm4.begin(), move(is2));
    cout << "After the move insertion, hm4 contains:" << endl
      << " " << hm4.begin()->first
      << " => " << hm4.begin()->second
      << endl;
}
  
  
  
  
  

Požadavky

Záhlaví: <hash_map>

Obor názvů: stdext

Viz také

Referenční dokumentace

hash_multimap Class

Standardní šablona knihovny