事情是这样的。我写了一个结构体,长这样:
struct 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 的新特性,是聚合初始化的一种。
好耶!