我需要将一组函数(来自mpfr::real
库的函数)映射到一组标记,但我不知道如何将标记直接映射到函数。我该怎么做?
答案 0 :(得分:0)
我现在使用#define
-
#define op(opname, ret, argtype, fn, args...) struct opname { ret operator ()argtype { return fn } };
让我写(例如) -
op(add, real, (real a, real b), mpfr::operator +(a, b))
(real is typedef mpfr::real<1024>
)
得到 -
struct add { real operator ()(real a, real b) { return mpfr::operator +(a, b) } };
这样我就可以快速编写所有类型的函数。