Udostępnij za pośrednictwem


list::assign (STL Samples)

Ilustruje sposób użycia list::assign funkcji biblioteki szablon standardowy (STL) w programie Visual C++.

void assign(
   const_iterator First,
   const_iterator Last
);
void assign(
   size_type n,
   const T& x = T( )
);
iterator erase(
   iterator It
);
iterator erase(
   iterator First,
   iterator Last
); bool empty( ) const;

Uwagi

[!UWAGA]

Nazwy klasy/parametr w prototyp nie pasują do wersji w pliku nagłówkowym.Niektóre zostały zmodyfikowane w celu poprawienia czytelności.

Pierwsza funkcja Członkowskie zastępuje sekwencję kontrolowane przez *to z sekwencji [First, Last).Druga funkcja Członkowskie zastępuje sekwencję kontrolowane przez *to z powtarzania n elementów wartość x.Trzecią funkcję Członkowskie usuwa element kontrolowanych sekwencji wskazywanej przez on.Czwarty funkcji składowej usuwa elementy sekwencji kontrolowane w zakresie [First, Last).Obie zwracają iterację, który wyznacza pierwszy element pozostałych poza wszelkie elementy usunięte, lub end , jeśli element nie istnieje.Zwraca ostatni funkcji składowej true dla sekwencji kontrolowanych puste.

Przykład

// assign.cpp 
// compile with: /EHsc
//
// Shows various ways to assign and erase elements
//        from a list<T>.
//
// Functions:
//    list::assign
//    list::empty
//    list::erase

#include <list>
#include <iostream>

using namespace std ;

typedef list<int> LISTINT;

int main()
{
    LISTINT listOne;
    LISTINT listAnother;
    LISTINT::iterator i;

    // Add some data
    listOne.push_front (2);
    listOne.push_front (1);
    listOne.push_back (3);

    listAnother.push_front(4);

    listAnother.assign(listOne.begin(), listOne.end());

    // 1 2 3
    for (i = listAnother.begin(); i != listAnother.end(); ++i)
        cout << *i << " ";
    cout << endl;

    listAnother.assign(4, 1);

    // 1 1 1 1
    for (i = listAnother.begin(); i != listAnother.end(); ++i)
        cout << *i << " ";
    cout << endl;

    listAnother.erase(listAnother.begin());

    // 1 1 1
    for (i = listAnother.begin(); i != listAnother.end(); ++i)
        cout << *i << " ";
    cout << endl;

    listAnother.erase(listAnother.begin(), listAnother.end());
    if (listAnother.empty())
        cout << "All gone\n";
}

Dane wyjściowe

1 2 3 
1 1 1 1 
1 1 1 
All gone

Wymagania

Nagłówek: <list>

Zobacz też

Koncepcje

Standardowy szablon biblioteki próbek