std::initializer_list<T>::data

来自cppreference.com
 
 
 
 
const T* data() const noexcept;
(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)
返回指向末元素后一位置的指针
(公开成员函数) [编辑]