std::initializer_list<T>::data
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) | возвращает указатель на первый элемент (открытая функция-член) |
|
(C++11) | возвращает указатель на элемент, следующий за последним (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/initializer_list/data