Compartilhar via


list::list

Constrói uma lista de um tamanho específico, ou com elementos de um valor específico, ou com um alocador específico, ou como uma cópia de toda ou parte de alguma outra 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

Descrição

Al

A classe de alocador a ser usada com esse objeto.

Count

O número de elementos na lista construída.

Val

O valor dos elementos na lista.

Right

A lista da qual a lista construída é uma cópia.

First

A posição do primeiro elemento no intervalo de elementos a serem copiados.

Last

A posição do primeiro elemento além do intervalo de elementos a serem copiados.

IList

O initializer_list que contém os elementos a serem copiados.

Comentários

Todos os construtores armazenam um objeto alocador (Al) e iniciam a lista.

get_allocator retorna uma cópia do objeto alocador usado para construir uma lista.

Os primeiros dois construtores especificam uma lista inicial vazia, o segundo especifica o tipo de alocador (Al) a ser usado.

O terceiro construtor especifica uma repetição de um número especificado (Count) de elementos do valor padrão para a classe Tipo.

Os construtores quarto e quinto especificam a repetição de (Count) elementos de valor Val.

O sexto construtor especifica uma cópia da lista Right.

O sétimo construtor move a lista Right.

O oitavo construtor usa initializer_list para especificar os elementos.

Os dois construtores seguintes copiam o intervalo [First, Last) de uma lista.

Nenhum dos construtores executa realocações provisórias.

Exemplo

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

Cabeçalho: <list>

Namespace: std

Consulte também

Referência

Classe list

Biblioteca de Modelos Padrão