Namespaces
Variants

std::initializer_list<T>::empty

Aus de.cppreference.net
 
 
Hilfsbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Hilfsmittel
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Dreiseitiger Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
bool empty() const noexcept;
(seit C++11)
(constexpr seit C++14)

Überprüft, ob die initializer_list leer ist. Äquivalent zu return size() == 0;.

Rückgabewert

true, falls die initializer_list leer ist, false andernfalls.

Komplexität

Konstant

Hinweise

Stand 2026-05-27 hat libstdc++ die Hinzufügung der empty-Funktion aus P3016R6 nicht als Fehlerbericht gegen C++11 behandelt und fügt empty erst ab C++26 hinzu.

Beispiel

#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';
}

Ausgabe:

true
false

Fehlerberichte (Defect reports)

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
P3016R6 C++11 std::initializer_list hatte keine empty-Funktion hinzugefügt

Siehe auch

(C++11)
gibt die Anzahl der Elemente in der Initialisierungsliste zurück
(öffentliche Elementfunktion)