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.