我想问一下是否可以在 C++ 中定义自定义运算符,例如:
Func function;
double a[2] = {-3, 3};
function = function integrate a;
注意:integrate 是区间 <-3, 3> 上数值积分的运算符。
我真正感兴趣的只是如何创建自己的运算符。
感谢您的回复和时间。 马里
最佳答案
为什么不只为您的集成方法编写一个类(也许是一个完整的类层次结构)或一个函数也足够了。然后给它你想要集成的函数作为参数(使用 std::function 将允许它是一个函数指针、仿函数或 lambda 表达式)和你的集成范围。这就是我最近这样做的方式。例如在 1D 中:
#include <functional>
#include <iostream>
double integrate(std::function<double(double)> f, double a, double b)
{
return (b-a)/2.0*(f(a)+f(b));
}
int main()
{
std::cout << integrate([](double x){ return x*x;}, -3.0, 3.0) << std::endl;
return 0;
}
关于c++ - 创建自定义运算符 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513374/