c++ - 默认嵌套结构初始化

标签 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;
    ...
};

最佳答案

Not the perfect solution... Is there a syntax to initialize nested structs?

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

关于c++ - 默认嵌套结构初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37508683/

相关文章:

c++ - MAC : Qt Cannot detect toolkit

c++ - 多个线程调用同一个函数是否安全?

c++ - 从 dll 链接静态成员

php - mysqli_real_escape_string创建SQL语法错误

c - `malloc()`刚刚分配的内存内容是什么?

c++ - _matherr 不会在发布版本中被调用(C++ Builder 2007)

python - python 中的语法识别器

php - 语法问题或wordpress帖子ID问题

c++ - 用单个字符初始化字符串

ios - 如何在 IBAction 按钮中初始化 Tile 源一次