相关疑难解决方法(0)

回调vs lambda

假设我有以下代码我想重构:

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吗?如果是这样,在这种情况下我将如何实现它?

编辑:我只是想到一个模板也可以工作.模板实现如何与其他两个进行比较?

c++ lambda c++11

26
推荐指数
3
解决办法
6065
查看次数

标签 统计

c++ ×1

c++11 ×1

lambda ×1