是否可以按如下所示在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 ++中实现它,或者使用这种风格是一种不好的做法。我喜欢使用这种初始化方式,因为我的结构很大,并且这种样式使我清楚地知道了将哪个值分配给哪个成员。
如果还有其他方法可以达到相同的可读性,请与我分享。
在发布此问题之前,我已经参考了以下链接
如果要弄清楚每个初始化器的值是什么,只需将其拆分成多行,并在每个注释上加上注释:
address temp_addres = {
0, // street_no
nullptr, // street_name
"Hamilton", // city
"Ontario", // prov
nullptr, // postal_code
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句