Freigeben über


list::insert

Fügt ein Element oder mehrere Elemente oder ein Reihe von Elementen an einer bestimmten Position in die Liste ein.

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

Parameter

Parameter

Beschreibung

Where

Die Position in der Zielliste, an der das erste Element eingefügt wird.

Val

Der Wert des Elements, das in die Liste eingefügt wird.

Count

Die Anzahl von Elementen, die in die Liste eingefügt werden.

First

Die Position des ersten Elements in dem Elementbereich in der Argumentliste, die kopiert werden soll.

Last

Die Position des ersten Elements hinter dem Elementbereich in der Argumentliste, die kopiert werden soll.

Rückgabewert

Die ersten zwei Einfügefunktionen geben ein Iterator zurück, der auf den Speicherort zeigt, an dem das neue Element in die Liste eingefügt wurde.

Beispiel

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

Ausgabe

c1 = 10 20 30c1 = 10 100 20 30c1 = 10 100 200 200 20 30c1 = 10 40 50 100 200 200 20 30Verschob erstes Element: ac4 = 5 6 7 8 1 2 3 4

Anforderungen

Header: <list>

Namespace: std

Siehe auch

Referenz

list-Klasse

Standardvorlagenbibliothek