Partager via


map::insert (STL/CLR)

Ajoute des éléments.

    cliext::pair<iterator, bool> 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);

Paramètres

  • tout d'abord
    Début de la plage à insérer.

  • last
    Fin de la plage à insérer.

  • right
    Énumération à insérer.

  • val
    Valeur de clé à insérer.

  • where
    Où dans le conteneur insérer (indicateur uniquement).

Notes

Chacune des fonctions membres insère une séquence spécifiée par les opérandes restants.

La première fonction membre essaie d'insérer un élément avec la valeur val, et retourne une paire de valeurs X.Si X.second est vraie, X.first indique l'élément récemment inséré ; sinon X.first indique un élément avec équivalent classement qui existe déjà et aucun élément n'est inséré.Vous l'utilisez pour insérer un seul élément.

La deuxième fonction membre insère un élément avec la valeur val, à l'aide de where comme indicateur (pour améliorer les performances), et retourne un itérateur qui indique que l'élément récemment inséré.Vous l'utilisez pour insérer un élément unique qui peut être à côté d'un élément que vous connaissez.

La troisième fonction membre insère la séquence [first,last).Vous l'utilisez pour insérer zéro ou plusieurs éléments copiés d'une autre séquence.

La quatrième fonction membre insère la séquence indiquée par right.Vous l'utilisez pour insérer une séquence décrite par un énumérateur.

Chaque élément d'insertion prend du temps proportionnel au logarithme du nombre d'éléments dans la séquence contrôlée.La mise en place peut se produire dans le temps fixe amorti, toutefois, étant donné un indicateur qui indique un élément en regard de le point d'insertion.

Exemple

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

Configuration requise

en-tête :<cliext/carte>

Cliext del'espace de noms :

Voir aussi

Référence

map (STL/CLR)