Partager via


list::insert

Insère un élément, un certain nombre d'éléments ou une plage d'éléments dans une liste à la position spécifiée.

iterator insert(     iterator Where,     const Type& Val ); iterator insert(     iterator Where,     Type&& Val ); void insert(     iterator Where,     size_type Count,     const Type& Val ); iterator insert(     iterator Where,     initializer_list<Type> IList ); template<class InputIterator>     void insert(         iterator Where,         InputIterator First,         InputIterator Last     );

Paramètres

Paramètre

Description

Where

Position dans la liste cible où le premier élément est inséré.

Val

Valeur de l'élément inséré dans la liste.

Count

Nombre d'éléments insérés dans la liste.

First

Position du premier élément de la plage d'éléments dans la liste d'arguments à copier.

Last

Position du premier élément au-delà de la plage d'éléments dans la liste d'arguments à copier.

Valeur de retour

Les deux premières fonctions insert retournent un itérateur qui pointe vers la position où le nouvel élément a été inséré dans la liste.

Exemple

// list_class_insert.cpp
// compile with: /EHsc
#include <list>
#include <iostream>
#include <string>

int main()
{
    using namespace std;
    list <int> c1, c2;
    list <int>::iterator Iter;

    c1.push_back(10);
    c1.push_back(20);
    c1.push_back(30);
    c2.push_back(40);
    c2.push_back(50);
    c2.push_back(60);

    cout << "c1 =";
    for (auto c : c1)
        cout << " " << c;
    cout << endl;

    Iter = c1.begin();
    Iter++;
    c1.insert(Iter, 100);
    cout << "c1 =";
    for (auto c : c1)
        cout << " " << c;
    cout << endl;

    Iter = c1.begin();
    Iter++;
    Iter++;
    c1.insert(Iter, 2, 200);

    cout << "c1 =";
    for(auto c : c1)
        cout << " " << c;
    cout << endl;

    c1.insert(++c1.begin(), c2.begin(), --c2.end());

    cout << "c1 =";
    for (auto c : c1)
        cout << " " << c;
    cout << endl;

    // initialize a list of strings by moving
    list < string > c3;
    string str("a");

    c3.insert(c3.begin(), move(str));
    cout << "Moved first element: " << c3.front() << endl;

    // Assign with an initializer_list
    list <int> c4{ {1, 2, 3, 4} };
    c4.insert(c4.begin(), { 5, 6, 7, 8 });

    cout << "c4 =";
    for (auto c : c4)
        cout << " " << c;
    cout << endl;
}

Sortie

c1 = 10 20 30c1 = 10 100 20 30c1 = 10 100 200 200 20 30c1 = 10 40 50 100 200 200 20 30Moved first element: ac4 = 5 6 7 8 1 2 3 4

Configuration requise

En-tête : <list>

Espace de noms : std

Voir aussi

Référence

list, classe

Bibliothèque STL (Standard Template Library)