C++ initializer_list
这是一个很神奇的东西。
有了 initializer_list 可以简化很多操作。
initializer_list 是一个 const T 类型的元素列表。
initializer_list 是一个用大括号括起来的以逗号分隔的元素列表。
1 | vector<int> a{ 1,2,3,4,5 }; |
但是请注意,这个模板类并没有隐式定义,想访问它必须 include 头文件 <initializer_list>,即使该类型是隐式使用的。
1 |
initializer_list 对象被自动构造,就像分配了类型为 T 的元素数组一样,list中 的每个元素都被复制初始化为数组中相应的元素,初始化过程中可以使用任何必要的非收缩隐式转换。