Namespaces
Variants

std::initializer_list<T>::data

ja.cppreference.net より
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型、RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)(C++20)(C++20)    
(C++20)
swap と 型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
共通語彙型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
const T* data() const noexcept;
(C++11以上)
(C++14以上でconstexpr)

initializer_list 内の先頭要素へのポインタを取得します。return begin(); と同等です。

初期化子リストが空の場合、data() と end() の戻り値は未規定ですが同一です。

戻り値

初期化子リスト内の先頭要素へのポインタ

計算量

定数時間

注記

2026年5月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)
末尾の次の要素へのポインタを返す
(パブリックメンバ関数)