我有几个不同的 C++ 结构和类具有相同名称的字段,我必须经常在它们之间复制。我想做类似的事情:(在 bashy 伪代码中)
struct S{double a;
double b;
double c;};
class C{public: void set_a(double a);
void set_b(double b);
void set_c(double c); };
S s; C c;
#FOR F in FIELDSOF(S)
c.set_${F}(${F});
#ENDFOR
无论这是否是一个好主意,有没有办法滥用 C++ 预处理器或 C++ 模板来实现这一点?我使用 g++ 和 clang++。
我已经知道像 MAKO 这样的模板引擎,而且我也知道我可以编写一个程序来进行代码生成。如果您必须知道,我想使用它的一件事是从 C++ 结构填充 Google protobufs。