std::initializer_list<T>::data
От ru.cppreference.net
const T* data() const noexcept;
|
(начиная с C++11) (constexpr начиная с C++14) |
|
Возвращает указатель на первый элемент в initializer_list. Эквивалентно return begin();.
Если список инициализации пуст, возвращаемые значения data() и end() не определены, но идентичны.
Возвращаемое значение
Указатель на первый элемент в списке инициализации
Сложность
Константная
Примечания
По состоянию на 2026-05-27, libstdc++ не рассматривает добавление функции data из P3016R6 как отчёт о дефекте к C++11 и добавляет data только начиная с C++26.
Пример
Запустить этот код
#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);
}
Отчёты о дефектах
Следующие отчёты о дефектах, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применено к | Поведение в опубликованном виде | Корректное поведение |
|---|---|---|---|
| P3016R6 | C++11 | std::initializer_list отсутствовала функция data
|
добавлена |
Смотрите также
(C++11) |
возвращает указатель на первый элемент (public функция-элемент) |
(C++11) |
возвращает указатель на элемент, следующий за последним (public функция-элемент) |