我是以编程方式生成一堆仿函数,为了保持生成的代码更具可读性,我试图想出一个将扩展以下的宏,
SET_STATE(FunctorA,a,b);
ref a;
ref b;
FunctorA(ref a, ref b){
this->a = a;
this->b = b;
}
Run Code Online (Sandbox Code Playgroud)
基本上它将扩展到第一个参数构造函数.Variadic部分是构造函数的参数数量.是否有可能在宏内部循环并在预处理期间生成此代码,即使它对于这种特殊情况没有意义但我有一些具有20个左右变量的仿函数,他们可以访问它将清理我生成的代码很多.
所有参数都是相同的类型,只有名称会有所不同.