operator-overloading相关内容

Java中的运算符重载

请您告诉我是否可以在 Java 中重载运算符?如果它在 Java 中的任何地方使用,请告诉我. 解决方案 不,Java 不支持用户定义的运算符重载.Java 接近“自定义"运算符重载的唯一方面是对字符串的 + 处理,这会导致常量的编译时连接或使用 StringBuilder/StringBuffer 的执行时连接.但是,您无法定义自己的操作符,它们的行为方式相同. 对于确实支持运算符 ..
发布时间:2021-11-19 22:47:39 Java开发

在不精确的浮点运算中,乘法总是可交换的吗?

我正在尝试理解 D 语言运行时中的一些代码.似乎以下两件事有单独的功能: array1[] += 标量 * array2[];数组1[] += 数组2[] * 标量; 为什么不能用一个函数来完成这些?我认为即使在不精确的浮点运算中,乘法也是可交换的. 解决方案 我对 D 语言一无所知,但我很乐意回答你标题中的问题: 在不精确的浮点运算中,乘法总是可交换的吗? 直到 NaN ..
发布时间:2021-11-18 04:38:12 其他开发

C++ 重载数组运算符

我正在创建一个堆,如下所示: 结构堆{int H[100];int operator [] (int i){return H[i];}//...}; 当我尝试从中打印元素时,我喜欢这样: 堆h;//添加一些元素...printf("%d\n", h[3]);//而不是h.H[3] 我的问题是,如果不是访问我想设置它们,像这样: for(int i = 0; i 我该怎么办?我不能就那 ..
发布时间:2021-11-18 02:22:26 C/C++开发

operator++ 中的整数参数

class myClass{民众:空运算符++(){//++myInstance.}空操作符++(int){//我的实例++.}} 除了让编译器区分 myInstance++ 和 ++myInstance 之外,还有 operator++ 中的可选 int 参数实际上是为了什么?如果是,那是什么? 解决方案 正如@Konrad 所说,int 参数不用于任何事情,除了区分前增量和后增量形式 ..
发布时间:2021-11-17 05:40:26 C/C++开发

C# 模仿覆盖赋值运算符 (=)

我有一个有点简单的包装类有一点问题. 看起来像这样: 公共类包装器{私人 T _value;公共 Wrapper (T 值){_value = 值;}公共静态隐式运算符 Wrapper(T 值){返回新的 Wrapper(值);}公共静态隐式运算符 T(Wrapper value){返回值._value;}} 我已经覆盖了从和到 T 的隐式转换器,因此它的行为几乎就像 T 本身的一个实例 ..
发布时间:2021-09-16 18:34:10 C#/.NET

Scala 自定义运算符(示例 abs)

我知道 Scala 允许重载它的默认运算符(+,-!等).是否可以定义自定义运算符并制作类似 |.| 的东西?运算符,以便 |-3|计算结果为 3.或者定义一个像 ++++ 这样的运算符,以便 a ++++ b 等于 a+3*b? 解决方案 你应该看看 scala 运算符文档. 您可以轻松地创建 ++++ 运算符,但不能轻松创建 |.|操作员. Scala 中的运算符只是具有非 ..
发布时间:2021-06-12 20:45:08 其他开发

可以重载花括号吗?

我几乎可以肯定不是,但我没有找到一个明确的答案: 是否可以重载花括号?如: 类 Foo{国际我;上市:int 运算符{}(int _i){return _i+42;};};int main(){福 f;f{2};返回0;} 它从未被提及,既不允许也不不允许.gcc 4.6 不编译它,但这并不意味着标准不允许它,对吧? 解决方案 在 C++ 中,花括号 {} 不是与 [](数组下标 ..
发布时间:2021-06-12 20:45:05 C/C++开发

操作重载*(左侧和右侧)

我有一个班级垫 类垫{......朋友垫&运算符*(Mat s1,int elem){s1.multiWith(elem);返回 s1;}}; 现在它适用于米1*2但如何让它工作2*m1 解决方案 a*b 运算符应该返回一个新对象,而不是对 a 的引用. 在类中声明 operator* 的正确语法是: 类垫{......垫运算符*(int elem){垫 res = *this ..
发布时间:2021-06-12 20:42:13 C/C++开发

(C++) 从派生类运算符调用基运算符

从派生类的运算符中调用运算符的正确方法是什么? 我正在尝试从派生类的重载运算符中调用基重载运算符.我尝试了以下但似乎不起作用: const myObject&myObject::operator = (const myObject &otherObject) {static_cast(*this) = static_cast(otherObject);//假设 BaseType 已重载赋值 ..
发布时间:2021-06-12 20:42:07 C/C++开发

C++,用于矩阵乘法的重载 *

我在尝试重载矩阵乘法的乘法运算符 * 时遇到了很多麻烦.我已经定义了一个矩阵类 #ifndef MMATRIX_H#define MMATRIX_H#include #include //表示数学矩阵的类M矩阵类{上市://构造函数MMatrix() : nRows(0), nCols(0) {}MMatrix(int n, int m, double x = 0) : nRows ..
发布时间:2021-06-12 20:41:53 C/C++开发

Jexl3 中自定义类的运算符重载/定义

我正在尝试在 Jexl 表达式中实现一个行为类似于 Boolean 的自定义类: 示例:Object result = jexl.createExpression("a || b").evaluate(context) 其中 a 和 b 是自定义类的实例,其中包含 boolean 和应通过评估表达式携带的额外信息,以便它最终可以在 result 中访问. 我读过 Jexl3 应该 ..
发布时间:2021-06-12 20:41:41 Java开发

模板类运算符重载问题

我正在尝试移植一些 Visual C++ (VS2005) 代码,以便它可以在 VS2005 和 C++ Builder XE 下编译.下面的代码在 VS2005 下编译得很好,但在 C++ Builder XE 下,我收到以下错误: [BCC32 错误] time_stamp.h(49): E2327 运算符可能没有默认参数值 这是有问题的代码:(time_stamp.h) tem ..
发布时间:2021-06-12 20:41:33 C/C++开发