在曾经的变量或者类初始化中,除了库自带封装好的类,其余很少有能例表初始化的变量或者自定义的类。在C++11中提供了initializer_list 这样一个万能的模板,要使用此模板必须包含头文件#include ,使用的方法是initializer_list < T>,要在尖括号中表明类型, list能让很多STL容器或者自定义类能发挥其最大的自由度以及可扩展性,下面简单的探讨一下关于initializer_list 的使用以及内存中存在形式。
首先举个简单的例子:
vector<string> S1{
"Hello","It's","me"};
这个是C++中常用的初始化方式,用列表的方式初始化了一个字符串容器。其中的{“Hello”,”It’s”,”me”}就是一个类型为initializer_list的列表。
这是在类中别人已经封装好的模板,但如果是我们自己想定义一个可以用列表初始化或者赋值的类该怎么做呢?
下面继续敲一个自定义的类。
#include