问题标签 [operators]

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 回答
15579 浏览

c# - 运算符 as 和泛型类

我想做一个方法:

接受一个通用参数:

但我认为 operatoras将非常有用:如果结果类型不是T方法将返回null,而不是异常!有可能吗?

0 投票
5 回答
35816 浏览

php - 为什么使用 !== FALSE 来检查 php 中的 stripos?

这是我正在查看的代码。

对不起,也不知道如何漂亮地格式化代码,任何提示都将不胜感激。

我正在查看一些比我聪明得多的人编写的代码,所以我不倾向于相信我的第一印象只是将所有内容更改为if(stripos($foo)),但为什么要这样做呢?

0 投票
2 回答
1663 浏览

sql - 比较 SQL 中的元组

有没有比做这样的事情更方便的方法来比较 T-SQL 中的数据元组:

基本上我正在寻找具有 (A, B) > (@A, @B) 的行(与我在 order by 子句中的顺序相同)。我有一些案例,我有 3 个字段,但它变得更加丑陋。

0 投票
6 回答
5720 浏览

c++ - 运算符 == 的 C++ 模板类错误

错误:
错误 C2678:二进制“==”:未找到采用“const entry”类型的左侧操作数的运算符(或没有可接受的转换)

功能:

indexList.h
indexList.cpp

这假设是一个重载的运算符吗?作为一个模板类,我不确定我是否理解错误?

解决方案- 类中的重载函数现在声明为 const:

0 投票
19 回答
362230 浏览

java - 在 Java 中创建“逻辑异或”运算符

观察:

Java 有一个逻辑 AND 运算符。
Java 有一个逻辑 OR 运算符。
Java 有一个逻辑 NOT 运算符。

问题:

根据 sun的说法, Java 没有逻辑 XOR 运算符。我想定义一个。

方法定义:

作为一种方法,它简单地定义如下:


方法调用:

该方法的调用方式如下:


运算符用法:

我宁愿有一个运算符,使用如下:


问题:

我找不到任何关于如何在 Java 中定义新运算符的信息。我应该从哪里开始?

0 投票
6 回答
13708 浏览

c++ - 运算符 = 用 C++ 中的常量变量重载

我想知道你们是否可以帮助我。

这是我的.h:

和我的主要:

我想做 operator= 功能。谁能帮我?注意 Doctor 上的 const 成员。

************编辑:********* 我的主要问题是我希望另一个类有一个属性,它是一个医生,就像一个病人有一个医生。但我希望能够改变我的医生。就像我正在看医生 A 但我想看医生 B。这将在我的其他班级 (Pacient) 中使用 setDoctor 函数来完成。如果是我编写代码,我会这样说:

然后更改指针。但是,我使用的是一位老师制作的基本代码,它的类定义如下:

但我认为这是不可能的,因为在 Patient 类中使用 setDoctor() 时,我要么制作副本,要么更改变量本身。第一个没有任何区别,第二个由于 const 是不可能的。我对吗?

0 投票
3 回答
2554 浏览

c++ - 将指针绑定到 C++ 中的成员运算符

他们有什么意义?
我从来没有将它们用于任何事情,而且我根本看不到自己需要使用它们。
我错过了他们的一些东西还是他们几乎没用?

编辑:我对它们了解不多,因此可能需要对它们进行描述...

0 投票
14 回答
105714 浏览

c - C中的三元(条件)运算符

条件运算符需要什么?在功能上它是多余的,因为它实现了一个 if-else 结构。如果条件运算符比等效的 if-else 赋值更有效,为什么编译器不能更有效地解释 if-else?

0 投票
8 回答
1129 浏览

c - 理解 C 中包含“++”和“->”运算符的表达式的评估

考虑这个例子:

它打印1
所以我理解这是因为根据运算符优先级,->高于++,所以ps->num首先获取值(即 0)然后++运算符对其进行操作,因此将其递增为 1。

在这个例子中,我得到0了,但我不明白为什么;第一个例子的解释应该和这个例子一样。但似乎这个表达式的计算方式如下:
首先,运算符++进行操作,然后对 进行操作ps,因此将其递增到下一个struct。只有 then->操作并且它什么都不做,因为它只是获取num下一个字段struct并且什么都不做。
但这与运算符的优先级相矛盾,运算符的->优先级高于++.

有人可以解释这种行为吗?

编辑
在阅读了两个引用 C++ 优先级表的答案后,表明前缀++/--运算符的优先级低于->,我进行了一些谷歌搜索并提出了这个链接,指出该规则也适用于 C 本身。它完全符合并完全解释了这种行为,但我必须补充一点,此链接中的表格与我自己的 K&R ANSI C 副本中的表格相矛盾。因此,如果您对哪个来源是正确的有建议,我想知道。

谢谢。

0 投票
6 回答
6271 浏览

c# - 重载 +/- 一元运算符

当您重载 - 一元运算符时,对于不可变类型,您可以这样编写:

但是对于+一元运算符,应该如何实现呢?像这样:

或像这样: