Condividi tramite


hash_multimap::insert (STL/CLR)

Aggiunge elementi.

    iterator insert(value_type val);
    iterator insert(iterator where, value_type val);
    template<typename InIter>
        void insert(InIter first, InIter last);
    void insert(System::Collections::Generic::IEnumerable<value_type>^ right);

Parametri

  • innanzitutto
    Avvio dell'intervallo da inserire.

  • last
    Fine di intervalli da inserire.

  • right
    Enumerazione da inserire.

  • val
    Valore della chiave da inserire.

  • where
    Dove inserire nel contenitore (suggerimento solo).

Note

Ognuna delle funzioni membro inserire una sequenza specificata dagli operandi rimanenti.

La prima funzione membro inserire un elemento con valore val e restituisce un iteratore che definisce l'elemento appena inserito. Viene utilizzato per inserire un singolo elemento.

La seconda funzione membro inserire un elemento con valore val, utilizzando where come suggerimento (per migliorare le prestazioni) e restituisce un iteratore che definisce l'elemento appena inserito. Utilizzarla per inserire un singolo elemento che può essere adiacenti a un elemento valido.

La terza funzione membro incollare la sequenza [first, last). Utilizzarla per inserire zero o più elementi copiati da un'altra sequenza.

La quarta funzione membro incollare la sequenza definita da right. Utilizzarla per inserire una sequenza descritta da un enumeratore.

Ogni inserimento di elementi richiede tempo proporzionale al logaritmo del numero di elementi della sequenza selezionata. L'inserimento può verificarsi nel tempo costante ammortizzato, tuttavia, dato un suggerimento che definisce un elemento accanto al punto di inserimento.

Esempio

// cliext_hash_multimap_insert.cpp 
// compile with: /clr 
#include <cliext/hash_map> 
 
typedef cliext::hash_multimap<wchar_t, int> Myhash_multimap; 
int main() 
    { 
    Myhash_multimap c1; 
    c1.insert(Myhash_multimap::make_value(L'a', 1)); 
    c1.insert(Myhash_multimap::make_value(L'b', 2)); 
    c1.insert(Myhash_multimap::make_value(L'c', 3)); 
 
// display contents " [a 1] [b 2] [c 3]" 
    for each (Myhash_multimap::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert a single value, unique and duplicate 
    Myhash_multimap::iterator it = 
        c1.insert(Myhash_multimap::make_value(L'x', 24)); 
    System::Console::WriteLine("insert([L'x' 24]) = [{0} {1}]", 
        it->first, it->second); 
 
    it = c1.insert(Myhash_multimap::make_value(L'b', 2)); 
    System::Console::WriteLine("insert([L'b' 2]) = [{0} {1}]", 
        it->first, it->second); 
 
    for each (Myhash_multimap::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert a single value with hint 
    it = c1.insert(c1.begin(), Myhash_multimap::make_value(L'y', 25)); 
    System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]", 
        it->first, it->second); 
    for each (Myhash_multimap::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    Myhash_multimap c2; 
    it = c1.end(); 
    c2.insert(c1.begin(), --it); 
    for each (Myhash_multimap::value_type elem in c2) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    Myhash_multimap c3; 
    c3.insert(   // NOTE: cast is not needed 
        (System::Collections::Generic:: 
            IEnumerable<Myhash_multimap::value_type>^)%c1); 
    for each (Myhash_multimap::value_type elem in c3) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Requisiti

Intestazione:<cliext/hash_map>

Spazio dei nomi: cliext

Vedere anche

Riferimenti

hash_multimap (STL/CLR)