Предположим, у меня есть следующий код, который я хочу реорганизовать:
int toFuture()
{
precalc();
int calc = 5 * foobar_x() + 3;
postcalc();
return calc;
}
int toPast()
{
precalc();
int calc = 5 * foobar_y() - 9;
postcalc();
return calc;
}
В classic-C я бы реорганизовал этот код в worker (), который принимает указатель функции, выполняющий вычисления:код в worker (), конкретный код, предоставляемый указателем на функцию.
В C ++ 11 я должен вместо этого использовать лямбду?Если так, как бы я это реализовал, в данном случае?
Редактировать: мне пришло в голову, что шаблон также может работать.Как реализация шаблона будет сравниваться с двумя другими?