1、定义
template<class T> class initializer_list
2、用途
此类型用于访问初始化表中的元素。初始化表是由一系列的const T组成的表。如:
auto il = { 10, 20, 30}; // 以逗号分隔,包含在一堆花括号({})内
3、如要使用initializer_list,需包含头文件< initializer_list >。
4、初始化表中的每个元素被拷贝初始化到数组中。
initializer_list不含任何元素,只是持有这些元素的引用。因此,拷贝一个 initializer_list不会产生元素的副本。
若某类的某个构造函数只含有一个参数,且该参数是 initializer_list,则称该构造函数为初始化表构造式。该构造式优先于其他构造式。
struct myclass {
myclass (int,int);
myclass (initializer_list<int>);
/* definitions ... */
};
myclass foo {10,20}; // calls initializer_list ctor
myclass bar (10,20); // calls first constructor
5、成员类型
value_type 模板参数
( T ) reference const T& const_reference const
T& size_type size_t iterator const
T* const_iterator const T*
6、成员函数
7、非成员函数
begin
(initializer_list) end(initializer_list)