是否可以在 C++ 中初始化结构,如下所示:
struct address {
int street_no;
char *street_name;
char *city;
char *prov;
char *postal_code;
};
address temp_address = { .city = "Hamilton", .prov = "Ontario" };
这里 和 这里 的链接提到只能在 C 中使用这种风格。如果是这样,为什么这在 C++ 中是不可能的?是否有任何潜在的技术原因导致它没有在 C++ 中实现,或者使用这种风格是不好的做法。我喜欢使用这种初始化方式,因为我的结构体很大,而且这种风格让我清楚地了解分配给哪个成员的值。
如果有其他方法可以实现相同的可读性,请与我分享。
在发布此问题之前,我已经参考了以下链接:
原文由 Dinesh P.R. 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想清楚每个初始化程序的值是什么,只需将其拆分为多行,并在每行上添加注释: