【发布时间】:2015-11-19 20:52:54
【问题描述】:
您好,我正在尝试掌握函子。这是一个简单的例子
struct A {
double b,c;
A(const double bb, const double cc) : b(bb), c(cc) {}
double operator()(const double x, const double y) {
return b*c*x*y;
}
};
我想知道是否可以重载 A 以便可以通过 b、c 以及例如x 重用operator() 中的代码。我的总体兴趣是不必在运算符中多次重写冗长的代码,并更好地了解这样做的最佳实践。
谢谢!
【问题讨论】:
-
不应该
b(bb), c(cc)是b(b), c(c)? -
通过
a?那是什么/在哪里? -
@Chad 我的意思是
b、c或x -
@Galik 我的编译器对上述表格很满意
-
在构造函数的什么地方,你觉得有必要重用做
b * c * x * y的代码吗?
标签: c++ operator-overloading operator-keyword functor