Compartilhar via


Classe initializer_list

Fornece acesso a uma matriz de elementos em que cada membro é do tipo especificado.

Sintaxe

template <class Type>
class initializer_list

Parâmetros

Tipo
O tipo de dados do elemento a ser armazenado no initializer_list.

Comentários

Um initializer_list pode ser criado usando uma lista de inicializadores entre chaves:

initializer_list<int> i1{ 1, 2, 3, 4 };

O compilador transforma listas de inicializadores entre chaves com elementos homogêneos em um initializer_list sempre que a assinatura de função requer um initializer_list. Para obter mais informações sobre o uso de initializer_list, confira Inicialização uniforme e delegação de construtores.

Construtores

Construtor Descrição
initializer_list Constrói um objeto do tipo initializer_list.

Typedefs

Nome do tipo Descrição
value_type O tipo dos elementos no initializer_list.
reference Um tipo que fornece uma referência a um elemento no initializer_list.
const_reference Um tipo que fornece uma referência constante a um elemento no initializer_list.
size_type Um tipo que representa o número de elementos no initializer_list.
iterator Um tipo que fornece um iterador para o initializer_list.
const_iterator Um tipo que fornece um iterador constante para o initializer_list.

Funções de membro

Função de membro Descrição
begin Retorna um ponteiro para o primeiro elemento em um initializer_list.
end Retorna um ponteiro para depois do último elemento em um initializer_list.
size Retorna o número de elementos no initializer_list.

Requisitos

Cabeçalho:<initializer_list>

Namespace: std

initializer_list::começar

Retorna um ponteiro para o primeiro elemento em um initializer_list.

constexpr const InputIterator* begin() const noexcept;

Valor retornado

Um ponteiro para o primeiro elemento do initializer_list. Se a lista estiver vazia, o ponteiro será o mesmo para o início e fim da lista.

initializer_list::fim

Retorna um ponteiro para depois do último elemento em um initializer list.

constexpr const InputIterator* end() const noexcept;

Valor retornado

Um ponteiro para depois do último elemento na lista. Se a lista estiver vazia, será o mesmo que o ponteiro para o primeiro elemento na lista.

initializer_list::initializer_list

Constrói um objeto do tipo initializer_list.

constexpr initializer_list() noexcept;
initializer_list(const InputIterator First, const InputIterator Last);

Parâmetros

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.

Comentários

Um initializer_list baseia-se em uma matriz de objetos do tipo especificado. Copiar um initializer_list cria uma segunda instância de uma lista que aponta para os mesmos objetos; os objetos subjacentes não são copiados.

Exemplo

// initializer_list_class.cpp
// compile with: /EHsc
#include <initializer_list>
#include <iostream>

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

    // Create an initializer_list c1 with 1 element
    initializer_list <int> c1{ 3 };

    // Create an initializer_list c2 with 5 elements
    initializer_list <int> c2{ 5, 4, 3, 2, 1 };

    // Create a copy, initializer_list c3, of initializer_list c2
    initializer_list <int> c3(c2);

    // Create a initializer_list c4 by copying the range c3[ first,  last)
    const int* c3_ptr = c3.begin();
    c3_ptr++;
    c3_ptr++;
    initializer_list <int> c4(c3.begin(), c3_ptr);

    // Move initializer_list c4 to initializer_list c5
    initializer_list <int> c5(move(c4));

    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 << "c5 =";
    for (auto c : c5)
        cout << " " << c;
    cout << endl;
}
c1 = 3
c2 = 5 4 3 2 1
c3 = 5 4 3 2 1
c5 = 5 4

initializer_list::tamanho

Retorna o número de elementos na lista.

constexpr size_t size() const noexcept;

Valor retornado

O número de elementos na lista.

Confira também

<forward_list>