Namespaces
Variants

std::initializer_list<T>::empty

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de type (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
bool empty() const noexcept;
(depuis C++11)
(constexpr depuis C++14)

Vérifie si la initializer_list est vide. Équivalent à return size() == 0;.

Valeur de retour

true si la initializer_list est vide, false sinon.

Complexité

Constante

Notes

Au 27 mai 2026, libstdc++ n'a pas traité l'ajout de la fonction empty de P3016R6 comme un rapport de défaut vis-à-vis de C++11, et n'ajoute empty qu'à partir de C++26.

Exemple

#include <initializer_list>
#include <iostream>

constexpr std::initializer_list<int> il1{};
constexpr std::initializer_list<int> il2{3, 1, 4, 1, 5, 9};

int main()
{
    static_assert(il1.empty(), "");
    static_assert(!il2.empty(), "");

    std::cout << std::boolalpha
        << il1.empty() << '\n'
        << il2.empty() << '\n';
}

Sortie :

true
false

Rapports de défauts

Les rapports de défauts suivants, modifiant le comportement, ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
P3016R6 C++11 std::initializer_list manquait de la fonction empty ajoutée

Voir aussi

(C++11)
retourne le nombre d'éléments dans la liste d'initialisation
(fonction membre publique)