Partager via


list::assign (STL Samples)

Illustre comment utiliser la fonction de bibliothèque de types (STL) Standard de liste : : assignez dans 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;

Notes

[!REMARQUE]

Les noms de classes/paramètre dans le prototype ne correspondent pas à la version du fichier d'en-tête.certains ont été modifiés pour améliorer la lisibilité.

la première fonction membre remplace *cela par contrôlé par séquence avec la séquence [First, Last).La deuxième fonction membre remplace *cela par contrôlé par séquence avec une répétition n éléments de la valeur *X.*La troisième fonction membre supprime l'élément de la séquence contrôlée désignée par elle.La quatrième fonction membre supprime les éléments de la séquence contrôlée dans la plage [First, Last).Les deux retournent un itérateur qui indique le premier élément restant au delà de tous les éléments supprimés, ou fin s'il n'existe aucun élément.La dernière fonction membre retourne true pour une séquence contrôlée vide.

Exemple

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

Sortie

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

Configuration requise

en-tête : <list>

Voir aussi

Concepts

Exemples de modèles Standard