Skip to content

Latest commit

 

History

History
85 lines (64 loc) · 2.39 KB

initializer_list.md

File metadata and controls

85 lines (64 loc) · 2.39 KB

initializer_list

  • initializer_list[meta header]
  • std[meta namespace]
  • class template[meta id-type]
  • cpp11[meta cpp]
namespace std {
  template<class E>
  class initializer_list;
}

概要

<initializer_list>ヘッダで提供されるinitializer_listクラスは、ユーザー定義型が初期化子リスト構文による初期化を可能にするための特別なクラスである。コンテナクラスの初期化、代入に使用される。

メンバ関数

名前 説明 対応バージョン
constructor コンストラクタ C++11
~initializer_list() = default; デストラクタ C++11
size 要素数を取得する C++11
begin 先頭要素へのポインタを取得する C++11
end 最後尾要素の次を指すポインタを取得する C++11

メンバ型

名前 説明 対応バージョン
value_type E C++11
reference const E& C++11
const_reference const E& C++11
size_type size_t C++11
iterator const E* C++11
const_iterator const E* C++11

非メンバ関数

名前 説明 対応バージョン
begin 先頭要素へのポインタを取得する C++11
end 最後尾要素の次を指すポインタを取得する C++11

#include <initializer_list>
#include <vector>

template <class T>
class Vector {
  std::vector<T> vec_;
public:
  Vector(std::initializer_list<T> init)
    : vec_(init.begin(), init.end()) {}
};

int main()
{
  const Vector<int> v = {1, 2, 3}; // 初期化子リストによる初期化
}
  • std::initializer_list[color ff0000]
  • init.begin()[link initializer_list/begin.md]
  • init.end()[link initializer_list/end.md]

出力

バージョン

言語

  • C++11

処理系

関連項目