Namespaces
Variants

Standard library header <initializer_list> (C++11)

From cppreference.net
Standard library headers

このヘッダは 言語サポート ライブラリの一部です。

クラス

リスト初期化で作成された一時配列を参照する list-initialization
(クラステンプレート)

関数

std::begin をオーバーロードする
(関数テンプレート)
std::end を特殊化する
(関数テンプレート)

概要

// すべてフリースタンディング
namespace std {
  template<class E> class initializer_list {
  public:
    using value_type      = E;
    using reference       = const E&;
    using const_reference = const E&;
    using size_type       = size_t;
    using iterator        = const E*;
    using const_iterator  = const E*;
    constexpr initializer_list() noexcept;
    constexpr size_t size() const noexcept;     // 要素数
    constexpr const E* begin() const noexcept;  // 先頭要素
    constexpr const E* end() const noexcept;    // 最終要素の次
  };
  // 初期化子リスト範囲アクセス
  template<class E> constexpr const E* begin(initializer_list<E> il) noexcept;
  template<class E> constexpr const E* end(initializer_list<E> il) noexcept;
}