【发布时间】:2010-10-25 14:50:39
【问题描述】:
说我有
double xSquared( const double )
{
return x*x;
}
...
std::function<double (double)> func = &xSquared;
...
到目前为止,这对于我使用这种结构的(更复杂的)目的来说效果很好。现在我有一个接受上述形式的 std::function 的函数,我需要创建一个扩展原始 std::function 的新函数:
typedef std::function<double (double)> func1D;
double someFunction( const func1D &func, const double a )
{
func1D extendedFunc = func/(x-a); // I know this is incorrect, but how would I do that?
...
}
所以数学上的等价物是:
f(x) = x²
g(x) = f(x)/(x-a)
我怎样才能做到这一点?感谢您的帮助!
【问题讨论】:
-
我找到了这个问题,但我不知道如何将它翻译成我的 std c++0x 案例:stackoverflow.com/questions/2841619/function-composition-in-c 非常感谢任何帮助!
标签: c++ c++11 functional-programming