有什么方法可以打印结构的所有成员变量吗?

Is there any method can print all member variable of a struct?

我有一系列结构,我想为它们添加一个显示方法。

请看下面代码:

A {
  int a, b, c;
  void Show() {
    cout << a << " " << b << " " << c << endl;
  }
};

B {
  int a, b;
  void Show() {
    cout << a << " " << b  << endl;
  }
};

如你所见,我需要为每个定义一个显示函数,但我有很多结构。

有没有我可以使用的方法,例如:A a; Show(a),可以在一个定义中做到这一点吗?

标准库中没有这样的机制。对于 AB 等类型,您应该可以使用 magic_get