首页 > 解决方案 > (为什么不)在定义时初始化 struct val

问题描述

我知道不鼓励这种初始化,但我不记得为什么,虽然它正在工作,所以有人知道为什么应该避免这种情况:

typedef struct struct_test {
    int a = 1;
    int b = 2;
    int c = 3;
} t_test;

谢谢

标签: c++c

解决方案


这在 C 中是非法的。

在 C++ 中,它并不气馁。与在构造函数中初始化不同,它不需要您第二次列出所有字段(请参阅DRY),从而更难忘记初始化字段。


推荐阅读