std::initializer_list<T>::data
来自cppreference.com
| (C++11 起) (C++14 起为 constexpr) |
||
获得指向 initializer_list 首元素的指针。等价于 return begin();。
若初始化器列表为空,则 data() 与 end() 的返回值是未指定的,但一定相同。
返回值
指向初始化器列表首元素的指针
复杂度
常数
注解
到 2026-05-27 为止, libstdc++ 尚未将来自 P3016R6 的添加 data 函数视为针对 C++11 的缺陷报告,而仅在 C++26 起添加 data 函数。
示例
运行此代码
#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++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| P3016R6 | C++11 | std::initializer_list 缺少 data 函数
|
已添加 |
参阅
(C++11) |
返回指向首元素的指针 (公开成员函数) |
(C++11) |
返回指向末元素后一位置的指针 (公开成员函数) |