默认嵌套结构初始化

时间:2016-05-29 10:17:57

标签: c++ syntax initialization

是否有将DataItem dh.size元素初始化为sizeof(DataItem)的语法?下面的代码使用构造函数并依赖编译器将事物优化为常量值。不是完美的解决方案......是否有初始化嵌套结构的语法?

struct DataHeader_t {
    int sz = 0;
    int type = 0;
};

struct DataItem {
    DataItem() {dh.sz = sizeof(DataItem);}
    DataHeader_t dh;
    float data1 = 0;
    float data2 = 0;
    ...
};

1 个答案:

答案 0 :(得分:2)

  

不是完美的解决方案......是否有初始化嵌套结构的语法?

是的,该结构称为构造函数,您已经在使用它了。