initializer_list, classe

Fournit l'accès à un tableau d'éléments dans lequel chaque membre est du type spécifié.

Syntaxe

template <class Type>
class initializer_list

Paramètres

Type
Type de données d'élément à stocker dans le initializer_list.

Notes

Un initializer_list peut être construit à l'aide d'une liste d'initialiseurs entre accolades :

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

Le compilateur transforme les listes d'initialiseurs entre accolades avec des éléments homogènes en un initializer_list chaque fois que la signature de fonction nécessite un initializer_list. Pour plus d’informations sur l’utilisation initializer_list, consultez Initialisation uniforme et délégation de constructeurs

Constructeurs

Constructeur Description
initializer_list Construit un objet de type initializer_list.

Typedefs

Nom de type Description
value_type Type des éléments dans le initializer_list.
reference Type qui fournit une référence à un élément stocké dans le initializer_list.
const_reference Type qui fournit une référence constante à un élément dans le initializer_list.
size_type Type qui représente le nombre d'éléments dans le initializer_list.
iterator Type qui fournit un itérateur pour le initializer_list.
const_iterator Type qui fournit un itérateur constant pour le initializer_list.

Fonctions Membre

Fonction membre Description
begin Retourne un pointeur vers le premier élément d'une initializer_list.
end Retourne un pointeur vers la position au-delà du dernier élément dans un initializer_list.
size Retourne le nombre d'éléments d'un initializer_list.

Spécifications

Header :<initializer_list>

Espace de noms : std

initializer_list ::begin

Retourne un pointeur vers le premier élément d'une initializer_list.

constexpr const InputIterator* begin() const noexcept;

Valeur retournée

Pointeur vers le premier élément de la initializer_list. Si la liste est vide, le pointeur est le même pour le début et pour la fin de la liste.

initializer_list ::end

Retourne un pointeur vers la position au-delà du dernier élément dans un initializer list.

constexpr const InputIterator* end() const noexcept;

Valeur retournée

Pointeur vers la position au-delà du dernier élément de la liste. Si la liste est vide, elle est identique au pointeur vers le premier élément de la liste.

initializer_list ::initializer_list

Construit un objet de type initializer_list.

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

Paramètres

Première
Position du premier élément de la plage d'éléments à copier.

Dernière
Position du premier élément au-delà de la plage d'éléments à copier.

Notes

Une initializer_list est basée sur un tableau d'objets du type spécifié. La copie d’une initializer_list deuxième instance d’une liste pointant vers les mêmes objets ; les objets sous-jacents ne sont pas copiés.

Exemple

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

Retourne le nombre d'éléments figurant dans la liste.

constexpr size_t size() const noexcept;

Valeur retournée

Nombre d'éléments dans la liste.

Voir aussi

<forward_list>