【发布时间】:2015-08-19 21:50:01
【问题描述】:
假设您想对函数执行数学运算。从数学上我们知道f(x)*g(x) 也是一个函数,如果f 和g 是。
如何用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 吗?正确的做法是什么?
【问题讨论】:
标签: c++ c++11 operator-overloading std functor