小编Gre*_*reg的帖子

在运行时定义 C++ 函数

我正在尝试调整我编写的一些数学代码以允许任意函数,但我似乎只能通过在编译时预先定义它们来做到这一点,这看起来很笨拙。我目前正在使用函数指针,但据我所知,函子会出现同样的问题。为了提供一个简单的例子,对于前向差分,使用的代码是:

double xsquared(double x) {
    return x*x;
}

double expx(double x) {
    return exp(x);
}

double forward(double x, double h, double (*af)(double)) {
    double answer = (af(x+h)-af(x))/h;

    return answer;  
}
Run Code Online (Sandbox Code Playgroud)

其中前两个函数中的任何一个都可以作为第三个参数传递。然而,我想做的是传递用户输入(在有效的 C++ 中),而不必事先设置函数。任何帮助将不胜感激!

c++ function-pointers functor

3
推荐指数
1
解决办法
5132
查看次数

标签 统计

c++ ×1

function-pointers ×1

functor ×1