1 initializer_list
1.1 Inicialización de initailizer_list
initializer_list<int> in;
in = { 1,2,3,4,5 }; // initializer_list 类似一个数组的模板,可以接收多个相同类型的参数,一旦赋值,数组里面的内容就是常量,不可改变
in = { 1,2,3 }; //数组中的内容不可以改变,但是数组可以重新赋值
1.2 recorrido de initailizer_list
initializer_list<int> in;
in = { 1,2,3,4,5 };
//使用迭代器遍历
for (auto in_i = in.begin(); in_i != in.end(); in_i++)
{
cout << *in_i << endl;
}
//使用范围for循环进行遍历
for (auto& in_i : in)
{
cout << in_i << endl;
}
1.3 Copia y asignación
initializer_list<string> in = { "aa","bb","cc" };
initializer_list<string>in1(in);
initializer_list<string>in2;
in2 = in;
//in in1 和 in2 都是指向相同的元素,共享同一份内存,拷贝和赋值不会使得 initializer_list 拷贝列表中的元素