c++ - 创建自定义运算符 c++

标签 c++ operators

我想问一下是否可以在 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/

相关文章:

c++ - 具有#define值的std::compare_exchange int

c++ - container.clear() 是否释放/重新分配内部缓冲区?

xpath - Xpath |路径内的运算符

c - 这是 + 运算符在 C 中的实现方式吗?

java - 算术运算符混淆

c++ - 如何在 C++ 中对类使用运算符重载函数?

c++ - boost asio无法识别计时器对象

c++ - 错误 : Vector iterator not dereferencing

c++ - 如何将 RTF 格式转换为 HTML

python - python 中 not() 的顺序有什么问题?