问题标签 [operator-keyword]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
25452 浏览

c++ - C++ 将自定义类型的转换运算符重载为 std::string

我希望有人能够回答为什么以下不起作用。不过请耐心等待,我仍然是个菜鸟……我只是无法弄清楚为什么会出现以下问题

给我一个编译时错误:

如果我不尝试分配

它确实有效。

我已经尝试了几个小时甚至理解错误消息,但最让我困惑的是它确实适用于 char*。

我很感激任何提示。谢谢!马库斯

0 投票
2 回答
2136 浏览

javascript - 为什么我需要为 JavaScript 中的 `Date` 实例添加 `new` 关键字?

我理解行为上的差异。Date()返回一个表示当前日期的字符串,并new Date()返回我可以调用其方法的 Date 对象的一个​​实例。

但我不知道为什么。JavaScript 是原型Date的,函数对象也是原型,其成员函数(方法)也是对象。但是我还没有编写或阅读过任何以这种方式运行的 JavaScript,我想了解其中的区别。

有人可以向我展示一些具有方法的函数的示例代码,返回一个带有 new 运算符的实例,并在直接调用时输出一个 String 吗?即这样的事情是怎么发生的?

非常具体的要求,我知道。我希望这是一件好事。:)

0 投票
6 回答
295 浏览

c++ - 运算符 << C++ 中的重载

这是我的代码,出现错误。错误:ostream:不明确的符号。

任何人都可以帮助我。

0 投票
5 回答
493 浏览

c++ - 运算符重载

我创建了一个 myString 类,我正在尝试运行以下代码:

我的问题:

  1. 为什么“你好”没有被打印出来?
  2. 为什么该行s=k会导致链接器错误?

这是错误:

LINK : c:\users\perry\documents\visual studio 2010\Projects\inheritance\Debug\inheritance.exe 未找到或未由最后一个增量链接构建;执行完整链接 1>main.obj : 错误 LNK2019: 无法解析的外部符号 "class std::basic_ostream > & __cdecl operator<<(class std::basic_ostream

&,class myString *)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@PAVmyString@@@Z) 在函数 "public: class myString & __thiscall myString ::operator=(class myString &)" (??4myString@@QAEAAV0@AAV0@@Z) 1>c:\users\perry\documents\visual studio 2010\Projects\inheritance\Debug\inheritance.exe:致命错误LNK1120:1 个未解决的外部因素

谢谢,李

0 投票
3 回答
353 浏览

overloading - 重载解引用运算符

我是 C++ 新手,我对重载取消引用运算符有疑问。我正在构建一个供应用程序使用的内存对象存储。数据存储映射到应用程序内存空间,应用程序可以使用取消引用运算符直接读取/修改对象。我计划提供如下描述的接口

在运算符重载函数中,有没有办法知道对象是被读取还是被写入?欢迎提出建议。

0 投票
3 回答
4564 浏览

c++ - C++:纯虚赋值运算符

为什么如果我们在基类中有纯虚拟赋值运算符,那么我们在派生类上实现该运算符,它会在基类上给出链接器错误?

目前我在http://support.microsoft.com/kb/130486上只有以下解释,它说这种行为是设计使然,因为正常的继承规则不适用

我不清楚,为什么设计会产生链接器错误?有人可以给我更清楚的解释吗?

编辑:添加了发生错误的简化代码:

如果没有 __declspec(dllexport)和/或没有基类上的纯虚拟运算符 = 声明,代码将无错误地编译。

没有__declspec(dllexport)赋值后*bd1 = *bd2;,d1::memberB 为 1,但__declspec(dllexport)d1::memberB 保持不变

__declspec(dllexport), 和没有纯虚声明,在赋值后*bd1 = *bd2;d1::memberB 保持不变

0 投票
3 回答
5309 浏览

c++ - 交换运算符重载 + 2 个不同的对象

我有 2 个表示矩阵的类:
1. RegularMatrix - O(n^2) 表示
2. SparseMatrix - 表示为链表(不带零)的矩阵。

可以说我有:

我希望能够做到:

并且:

所以我重载了 + 运算符。我的问题是,因为我希望加法是可交换的(a+b = b+a),我是否需要实现 2 个重载,每种情况一个?

还是编译器自行决定的一般形式?

谢谢

0 投票
3 回答
198 浏览

c++ - 如果参数很复杂,* 和 & 运算符在做什么?

简单来说就是

相当于

或者

或者

或者你真的应该把明确的括号放在那里只是为了安全吗?

0 投票
7 回答
588 浏览

java - 关于java中==运算符的问题

在前面的代码中 s7 == s8 和 s1 == s10 给出错误。有人可以解释一下吗,在 s7 = s7.concat ("llo"); 中实际发生了什么 和 s10 = s10 + "llo";我了解 == 运算符检查引用和 equal() 检查对象的内容。但我需要知道为什么 s7 和 s10 引用变量位模式与 s8 和 s1 不同。如果这些东西与编译时生成的字符串和运行时生成的字符串有关,那么我如何识别它是编译时字符串还是运行时字符串?

0 投票
2 回答
278 浏览

java - 在运行时确定可用的运算符

我希望能够在运行时检索对象的可用运算符,可能与 getMethod() 调用类似。

特别是,我需要能够在运行时调用对象的小于/大于运算符。

基本上,我有一堆被转换为 Object 对象类型的原语。我需要在运行时对它们进行比较。(我知道被比较的对象将是相同的原始类型,并且已经实现了我自己的类型检查)。

或者......也许有一种方法可以以编程方式将这些对象转换回它们的原始类型,并使用它们的原生比较运算符......不知何故?

感谢您的任何帮助。