C++中的std::initializer_list
std::initializer_list是C++11提供的一种类模板。下面是它的源码(看不懂也没关系,注意它有两个迭代器,指向头尾就好,也就是说它其实也是一个容器):
它的构造函数什么时候被调用?
自C++11标准开始就引入了列表初始化的概念,即支持使用{}对变量或对象进行初始化。可以使用{}给普通的构造函数赋值,也可以直接使用std::initializer_list模板类型作为参数(特别适合作为其他容器的初始值):
std::initializer_list是C++11提供的一种类模板。下面是它的源码(看不懂也没关系,注意它有两个迭代器,指向头尾就好,也就是说它其实也是一个容器):
自C++11标准开始就引入了列表初始化的概念,即支持使用{}对变量或对象进行初始化。可以使用{}给普通的构造函数赋值,也可以直接使用std::initializer_list模板类型作为参数(特别适合作为其他容器的初始值):