dig*_*ber 2 c++ expression class function functor
我正在尝试构建一个多项式函数生成器,因此它将一个向量(任意大小)作为参数,并生成一个我稍后可以使用的多项式函数.
例如,
poly_gen(vector<int> power_index)
Run Code Online (Sandbox Code Playgroud)
以(我可以用另一个函数调用)的形式返回一个函数(或通过其他方法)
y(k)=a0+ a1*n+ a2*n^2 + a3*n^3 + ... + ak*n^k
Run Code Online (Sandbox Code Playgroud)
其中a0,a1 .... ak存储在vector-power_index中
后来我可以用它来调用它
int calc_poly(int n)
Run Code Online (Sandbox Code Playgroud)
这calc_poly可以返回一个数字,通过使用由生成的多项式表达式计算poly_gen()
PS:我不知道如何通过关键词搜索这个问题.功能,构造,发电机,指针,仿函数...没有给我想要的结果.
谢谢你们!
你不能在C++运行时生成函数,所以你必须使用仿函数.
您可以创建一个对象来存储power_index以某种方式给出的系数(可能是直接复制),并给它一个operator() (int n)运算符来获取系数并计算多项式的值(Horner的规则?).然后你可以自由地传递那个对象.
因此,您需要一个构造函数,一个系数的内部表示,以及一个operator()实际计算.应该够简单.
| 归档时间: |
|
| 查看次数: |
280 次 |
| 最近记录: |