std::initializer_list<T>::empty
Aus de.cppreference.net
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
Diesen Code ausführen
#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) |