社区讨论
发现了 C++ 结构体初始化的新方式
灌水区参与者 6已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo1zo2ng
- 此快照首次捕获于
- 2023/10/23 05:36 2 年前
- 此快照最后确认于
- 2023/11/03 06:01 2 年前
事情是这样的。我写了一个结构体,长这样:
CPPstruct node{
struct base_node{
int rt,l,r;
}_0;
union{
#define reg(fn,...) struct fn __VA_ARGS__ _##fn
reg(seq_add,{int s; int e; ll v;});
reg(seq_sum,{int s; int e;});
}_1;
};
(宏定义不打算手动展开捏)
然后,我想知道有没有优雅的初始化方式,于是问了问:

还真有!我第一次见可以按成员变量名称逐一初始化成员变量 (不知所云) 的初始化方法。(觉得这对于 C++ 来说还是有些太先进了
于是去 cppreference 上查了查,发现这个是 C++11 的新特性,是聚合初始化的一种。
好耶!
回复
共 5 条回复,欢迎继续交流。
正在加载回复...