发现了 C++ 结构体初始化的新方式
  • 板块灌水区
  • 楼主adpitacor
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/8/4 10:22
  • 上次更新2023/11/3 06:01:08
查看原帖
发现了 C++ 结构体初始化的新方式
374733
adpitacor楼主2023/8/4 10:22

事情是这样的。我写了一个结构体,长这样:

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 的新特性,是聚合初始化的一种。

好耶!

2023/8/4 10:22
加载中...