std::array 在C++ 11中是一个有用的类,它在C堆栈数组上提供C++ Container接口.
但为什么std::array大多数容器都没有典型的填充构造函数呢?相反,它有一个方法fill.
std::array在这方面,STL容器中有什么独特之处吗?
从第23.3.2.1节:
数组是一个聚合(8.5.1),可以用语法数组a = {initializer-list}初始化;
如果它工作就像std::vector它不再是POD那样.另外来自同一部分:
应满足总量(8.5.1)的条件.
这些条件是:
聚合是一个数组或类(第9条),没有用户提供的构造函数(12.1),非静态数据成员(9.2)没有大括号或相等的初始化,没有私有或受保护的非静态数据成员(第11条) ),没有基类(第10条),没有虚函数(10.3).
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |