Namespaces
Variants

std::initializer_list<T>::data

Aus de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variable Argumentlisten-Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationsoperatoren (veraltet in C++20)
Integer-Vergleichsfunktionen
(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)



 
 
const T* data() const noexcept;
(seit C++11)
(constexpr seit C++14)

Gibt einen Zeiger auf das erste Element in der initializer_list zurück. Äquivalent zu return begin();.

Wenn die Initialisierungsliste leer ist, sind die Rückgabewerte von data() und end() unspezifiziert, aber identisch.

Rückgabewert

Ein Zeiger auf das erste Element in der Initialisierungsliste

Komplexität

Konstant

Hinweise

Stand 27.05.2026 hat libstdc++ das Hinzufügen der data-Funktion aus P3016R6 nicht als Fehlerbericht gegen C++11 behandelt und fügt data erst seit C++26 hinzu.

Beispiel

#include <initializer_list>

int main()
{
    static constexpr auto il = {42, 24};
    static_assert(il.data() == il.begin());
    static_assert(*il.data() == 0x2A);
    static_assert(il.data()[1] == 030);
}

Fehlerberichte

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 data-Funktion hinzugefügt

Siehe auch

(C++11)
gibt einen Zeiger auf das erste Element zurück
(öffentliche Elementfunktion)
(C++11)
gibt einen Zeiger auf das Element hinter dem letzten zurück
(öffentliche Elementfunktion)