Namespaces
Variants

std::initializer_list<T>::data

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
const T* data() const noexcept;
(desde C++11)
(constexpr desde C++14)

Obtiene un puntero al primer elemento en el initializer_list. Equivalente a return begin();.

Si la lista de inicialización está vacía, los valores de retorno de data() y end() no están especificados pero son idénticos.

Valor de retorno

Un puntero al primer elemento en la lista de inicialización

Complejidad

Constante

Notas

A partir de 2026-05-27, libstdc++ no ha tratado la adición de la función data de P3016R6 como un informe de defecto contra C++11, y solo añade data desde C++26.

Ejemplo

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

Informes de defectos

Los siguientes informes de defectos que cambian el comportamiento se aplicaron retroactivamente a estándares C++ previamente publicados.

DR Aplicado a Comportamiento publicado Comportamiento correcto
P3016R6 C++11 std::initializer_list carecía de la función data añadida

Vea también

(C++11)
devuelve un puntero al primer elemento
(función miembro pública)
(C++11)
devuelve un puntero al elemento siguiente al último
(función miembro pública)