Compartir a través de


list::list

Construye una lista de un tamaño específico o con elementos de un valor específico o con un asignador específico o como una copia de todo o de parte de alguna otra lista.

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

Parámetros

Parámetro

Descripción

Al

La clase de asignador que se usa con este objeto.

Count

Número de elementos de la lista construida.

Val

Valor de los elementos de la lista.

Right

Lista de la que la lista construida va a ser una copia.

First

Posición del primer elemento en el intervalo de elementos que se va a copiar.

Last

Posición del primer elemento más allá del intervalo de elementos que se va a copiar.

IList

initializer_list que contiene los elementos que se van a copiar.

Comentarios

Todos los constructores almacenan un objeto de asignador (Al) e inicializan la lista.

get_allocator devuelve una copia del objeto de asignador utilizado para construir una lista.

Los dos primeros constructores especifican una lista inicial vacía y el segundo especifica el tipo de asignador (Al) que se va a usar.

El tercer constructor especifica una repetición de un número especificado (Count) de elementos del valor predeterminado para la clase Type.

Los constructores cuarto y quinto especifican una repetición de elementos (Count) de valor Val.

El sexto constructor especifica una copia de la lista Right.

El séptimo constructor mueve la lista Right.

El octavo constructor utiliza una initializer_list para especificar los elementos.

Los dos constructores siguientes copian el intervalo [First, Last) de una lista.

Ninguno de los constructores realiza ninguna reasignación provisional.

Ejemplo

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

Requisitos

Encabezado: <list>

Espacio de nombres: std

Vea también

Referencia

list (Clase)

Biblioteca de plantillas estándar