假设我有以下代码我想重构:
int toFuture()
{
precalc();
int calc = 5 * foobar_x() + 3;
postcalc();
return calc;
}
int toPast()
{
precalc();
int calc = 5 * foobar_y() - 9;
postcalc();
return calc;
}
Run Code Online (Sandbox Code Playgroud)
在classic-C中,我将这个代码重构为一个worker(),它接受一个执行计算的函数指针:worker()中的公共代码,函数指针提供的特定代码.
使用C++ 11,我应该使用lambda吗?如果是这样,在这种情况下我将如何实现它?
编辑:我只是想到一个模板也可以工作.模板实现如何与其他两个进行比较?