Partager via


list::list

Construit une liste de taille spécifique ou contenant des éléments de valeurs spécifiques, ou contenant un allocateur spécifique ou comme copie complète ou partielle d'une autre liste.

list( ); explicit list(     const Allocator& Al ); explicit list(     size_type Count ); list(     size_type Count,     const Type& Val ); list(     size_type Count,     const Type& Val,     const Allocator& Al ); list(     const list& Right ); list(     list&& Right ); list(     initializer_list<Type> IList,     const Allocator& Al ); template<class InputIterator>     list(         InputIterator First,         InputIterator Last     ); template<class InputIterator >     list(         InputIterator First,         InputIterator Last,         const Allocator& Al     ); 

Paramètres

Paramètre

Description

Al

Classe allocator à utiliser avec cet objet.

Count

Nombre d'éléments dans la liste construite.

Val

Valeur des éléments de la liste.

Right

Liste dont la liste construite doit être une copie.

First

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

Last

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

IList

initializer_list qui contient les éléments à copier.

Notes

Tous les constructeurs stockent un objet allocateur (Al) et initialisent la liste.

get_allocator retourne une copie de l'objet allocateur utilisé pour construire une liste.

Les deux premiers constructeurs spécifient une liste initiale vide. En outre, le second spécifie le type d'allocateur (Al) à utiliser.

Le troisième constructeur spécifie une répétition d'un nombre spécifique (Count) d'éléments de la valeur par défaut pour la classe Type.

Les quatrième et cinquième constructeurs spécifient une répétition des (Count) éléments ayant la valeur Val.

Le sixième constructeur spécifie une copie de la liste Right.

Le septième constructeur déplace la liste Right.

Le huitième constructeur utilise initializer_list pour spécifier les éléments.

Les deux constructeurs suivants copient la plage [First, Last) d'une liste.

Aucun des constructeurs n'effectue de réallocations temporaires.

Exemple

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

int main()
{
    using namespace std;
    // Create an empty list c0
    list <int> c0;

    // Create a list c1 with 3 elements of default value 0
    list <int> c1(3);

    // Create a list c2 with 5 elements of value 2
    list <int> c2(5, 2);

    // Create a list c3 with 3 elements of value 1 and with the 
    // allocator of list c2
    list <int> c3(3, 1, c2.get_allocator());

    // Create a copy, list c4, of list c2
    list <int> c4(c2);

    // Create a list c5 by copying the range c4[_First, _Last)
    list <int>::iterator c4_Iter = c4.begin();
    c4_Iter++;
    c4_Iter++;
    list <int> c5(c4.begin(), c4_Iter);

    // Create a list c6 by copying the range c4[_First, _Last) and with 
    // the allocator of list c2
    c4_Iter = c4.begin();
    c4_Iter++;
    c4_Iter++;
    c4_Iter++;
    list <int> c6(c4.begin(), c4_Iter, c2.get_allocator());

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

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

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

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

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

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

    // Move list c6 to list c7
    list <int> c7(move(c6));
    cout << "c7 =";
    for (auto c : c7)
        cout << " " << c;
    cout << endl;

    // Construct with initializer_list
    list<int> c8({ 1, 2, 3, 4 });
    cout << "c8 =";
    for (auto c : c8)
        cout << " " << c;
    cout << endl;
}
  

Configuration requise

En-tête : <list>

Espace de noms : std

Voir aussi

Référence

list, classe

Bibliothèque STL (Standard Template Library)