重载函数调用运算符和返回类型

莫恩勋爵

我正在设计一个小数学库。我有代表函数类的类,例如多项式。实例化它们时,将提供所需的参数(a1,a2,a3),以便该对象实际上表示特定的多项式(a1 * x ^ 2 + a2 * x + a3)。

然后,我想提供在某个点(x = 3,y =?)评估函数的功能。我已经阅读了此Wiki和《 C ++思维》第12章。布鲁斯·埃克尔(Bruce Eckel)1。他们俩都说我应该根据操作员的“意思”来决定是否超载。我不是一个经验丰富的C ++程序员,但是据我所知,如果我有一个表示函数的类,并且使用的obj(x)y该函数在那个值上的价值那我就可以了x

尺寸方面引起了疑问:我也必须表示向量函数(http://en.wikipedia.org/wiki/Vector_function),例如a1 * x1 + a2 * x2,并且我将具有这样的签名:operator()(real x1, real x2)我的问题是返回类型。如果y1 = a1 * x1 + a2 * x2是一个向量(在数学上和C ++中),我应该按值还是按引用返回y1?我还应该提供一个const版本吗?

附注:这是我在Stackoverflow.com上的第一个问题,因此,请告诉我该问题是否有误(标题,标签,问题本身:P),我将很乐意予以纠正。

约翰

“我应该按值还是按引用返回y1?” 毫无疑问,按值来说,没有返回对新创建对象的引用的好方法。如果复制对象的成本是一个问题,那么您应该使用某种智能指针技术来提供快速复制。

“我还应该提供一个const版本吗?” 根据您所说的,您应该只提供一个const版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重载函数调用运算符和返回类型

来自分类Dev

重载下标运算符以根据分配的类型调用函数

来自分类Dev

函数调用运算符的继承和重载

来自分类Dev

运算符“ <<”重载返回类型

来自分类Dev

重载运算符返回类型

来自分类Dev

运算符重载:从成员函数调用朋友函数

来自分类Dev

Swift运算符的类型和调用

来自分类Dev

运算符重载函数

来自分类Dev

Ostream <<运算符重载及其返回类型

来自分类Dev

运算符重载中的const返回类型

来自分类Dev

流运算符重载中的返回类型

来自分类Dev

流运算符重载中的返回类型

来自分类Dev

数组访问运算符重载的返回类型

来自分类Dev

在运算符重载中调用函数?

来自分类Dev

重载++和+运算符

来自分类Dev

运算符重载和方法调用同时

来自分类Dev

运算符重载传递和返回的参数

来自分类Dev

在 C++ 中使用多个三元运算符调用时,由 bool 和 enum 类型重载的函数不区分

来自分类Dev

运算符重载和非成员函数C ++

来自分类Dev

构造函数和重载运算符执行顺序

来自分类Dev

重载类函数中的按位And(&)运算符和“ * this”

来自分类Dev

构造函数和转换运算符之间的重载解析

来自分类Dev

C ++链表-构造函数和运算符重载

来自分类Dev

全局和元素函数中的运算符重载

来自分类Dev

运算符重载和复制构造函数

来自分类Dev

重载?? 结果类型的运算符

来自分类Dev

C ++运算符重载int类型

来自分类Dev

原始类型的运算符重载

来自分类Dev

枚举类型的运算符重载