initialize :初始化
和vector一样,initializer_list也是一种模板类型。但和vector不同的是initializer_list对象中的元素永远是const。
具体的操作
include<initializer_list>
initializer_list<T> lst 定义一个initializer_list,进行默认初始化
initializer_list<T> lst{a,b,c} lst中的元素是对应初始值的副本
lst2(lst)
lst2=lst 拷贝或者赋值一个initializer_list对象不会拷贝列表中的元素;拷贝后原始列表和副本共享元素
lst.size() 列表中的元素数量
lst.begin() 返回首指针
lst.end() 返回尾后指针
initializer_list可以用于含可变形参的函数,作为initializer_list形参
例如
void error_msg(ErrCode e, initializer_list<string> il)
{
}
注意:像initializer_list形参传入值的序列时,必须把序列放在一对花括号里
例如
error_msg(ErrCode(42),{“function”,expected,actual})