使用初始化列表进行初始化类的条件(不能使用初始化列表构造的原因)

如何区分一个类(class struct union)是否可以使用列表初始化来完成初始化工作呢?关键问题看这个类是否是一个聚合体(aggregate),首先看下C++中关于类是否是一个聚合体的定义:
(1)无用户自定义构造函数。

(2)无私有或者受保护的非静态数据成员

(3)无基类

(4)无虚函数

(5)无{}和=直接初始化的非静态数据成员。

posted @ 2022-03-25 21:10  dzqabc  阅读(54)  评论(0编辑  收藏  举报