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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour