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