- 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]