Namespaces
Variants

std::initializer_list<T>:: initializer_list

From cppreference.net
Utilities library
initializer_list ( ) noexcept ;
(depuis C++11)
(constexpr depuis C++14)

Construit une liste d'initialisation vide.

Table des matières

Paramètres

(aucun)

Complexité

Constante

Notes

Malgré l'absence de constructeurs, il est possible de créer des listes d'initialisation non vides. Les instances de std::initializer_list sont implicitement construites lorsque :

Exemple

#include <initializer_list>
#include <iostream>
int main()
{
    std::initializer_list<int> empty_list;
    std::cout << "empty_list.size(): " << empty_list.size() << '\n';
    // créer des listes d'initialisation en utilisant l'initialisation par liste
    std::initializer_list<int> digits{1, 2, 3, 4, 5};
    std::cout << "digits.size(): " << digits.size() << '\n';
    // règle spéciale pour auto signifie que 'fractions' a le
    // type std::initializer_list<double>
    auto fractions = {3.14159, 2.71828};
    std::cout << "fractions.size(): " << fractions.size() << '\n';
    // créer une liste d'initialisation constexpr (depuis C++14)
    static constexpr auto ab = {'a', 'b'};
    static_assert(ab.size() == 2 and *ab.begin() == 'a');
}

Sortie :

empty_list.size(): 0
digits.size(): 5
fractions.size(): 2