成员概念适用于数组(即数组的成员)。数组的元素和成员是不同的概念吗?
3.8 / 1 N3797:
如果一个对象属于a,则称该对象具有非平凡的初始化 类或聚合类型,或其中一个成员由初始化 除了普通的默认构造函数之外的构造函数。
[...]
T类对象的生命周期始于:
- 存储用 获得了类型T的正确对齐和大小,
- 如果对象具有非平凡的初始化,则其初始化完成
8.1 / 1 N3797:
聚合是数组或类(第9条),没有用户提供 构造函数(12.1),没有私有或受保护的非静态数据成员 (第11条),没有基类(第10条),也没有虚函数 (10.3)。
3.8 / 2:
[注意:数据对象的生命周期在存储时立即启动 获得适当的尺寸和对齐,并且当它的寿命结束时 阵列占用的存储器被重用或释放。 12.6.2 描述了基础和成员子对象的生命周期。 - 后注]
所以我认为数组的元素和数组的成员是不同的概念。
答案 0 :(得分:2)
C ++标准中定义的“成员”的概念:
类的成员是数据成员,成员函数,嵌套类型和枚举器。
§9.2[class.mem]
不开始应用于数组,因为数组不是类类型。