Any*_*orn 9 c++ constructor struct class initializer-list
可以使用初始化列表创建结构/类的对象(没有构造函数).为什么在构造函数的 struct/class上不允许这样做?
struct r { int a; };
struct s { int a; s() : a(0) {} };
r = { 1 }; // works
s = { 1 }; // does not work
Run Code Online (Sandbox Code Playgroud)
Col*_*nee 14
不,具有构造函数的对象不再被视为POD(普通旧数据).对象必须仅包含其他POD类型作为非静态成员(包括基本类型).POD可以具有静态函数和静态复杂数据成员.
请注意,即将推出的C++标准将允许您定义初始化列表,这将允许使用大括号初始化非POD对象.
| 归档时间: |
|
| 查看次数: |
3725 次 |
| 最近记录: |