Предположим, вы хотите выполнить математические операции над функциями. Математически мы знаем, что f(x)*g(x)
также является функцией, если f
и g
.Операторы перегрузки для std :: function?
Как можно было бы выразить это с помощью std::function
? Я думал о перегрузке математических операторов что-то так:
typedef std::function<double(double)> func;
func operator * (const func &f, func &g)
{
auto temp = [&]() { return f(??) * g (??); };
return temp;
}
Но я не знаю, как аргументы f
и g
вступят в игру здесь. Могу ли я использовать std::placeholders
для этого? Каким будет правильный способ?
Спасибо! Должен был подумать об этом :) – nbubis