问题标签 [comparison-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 投票
3 回答
138 浏览

php - PHP比较疑惑

为什么它给了我“真实”?

0 投票
2 回答
259 浏览

objective-c - 在 Objective C 中,if (object == nil) 和 if (nil == object) 之间有区别吗?

我会倾向于

但我注意到在一些教程中使用

这只是一种风格,还是使用任何一种格式都有合理的理由?

0 投票
9 回答
1185 浏览

php - 在 php 中使用 === 而不是 == 的重要性!

直到今天我才注意到并发现了使用===运算符的重要性。您可以在以下示例中看到它:

问题是,在任何情况下使用===运算符而不是使用==运算符很重要吗?

0 投票
4 回答
956 浏览

mysql - MySQL - 为什么“大于”的 COUNT 快速但“小于”需要永远?

如果我运行该查询,它需要一秒钟,但如果我切换比较运算符,它需要 eons。现在第一种方式count = 0,第二种方式count = 120000,但如果我只计算整个表也需要微秒。

但是有一些奇怪的事情正在发生,因为如果查询确实完成了,它会在之后运行得非常快。MySQL正在缓存查询还是正确的?好吧,我不想依靠缓存来确保网站不会挂起。

这似乎很荒谬:如果它可以快速计算大于某个日期的所有内容,为什么还要花更长的时间来计算相反的时间?无论哪种方式,它都必须查看整个表格,对吗?它只需要返回一个数字,因此带宽不应该成为问题。

解释查询:


编辑:

这可能会引起一些兴趣,我在运行查询时发现了以下信息:

Handler_read_rnd_next:

  • 254436689(做不到时)
  • 2(大于)

Key_read_requests:314393 vs 33(33是使用大于时所有统计数据的最大数字)

Handler_read_key:104303 vs 1

绕过视图并直接在主表上运行查询消除了缓慢。那么我需要做些什么来加快速度呢?视图基本上是这样的:


已解决:弗兰基带领我朝着正确的方向前进。第二个连接表(公司表)是通过公司的全文名称连接的。我最近才决定向该表添加一个整数键。name 列应该被索引,但我可能搞砸了。无论如何,我重新组织了一切。我将主表中的外键转换为匹配公司表的整数 ID 而不是完整的公司名称。我重新索引了每个表中的这些列,然后我更新了视图以反映新的连接点。现在它立即在两个方向上运行。:) 所以我猜整数键是关键。问题消失了,但我觉得我最初的问题并没有真正解决。

谢谢你们的帮助。

0 投票
2 回答
3047 浏览

c++ - 无效类型转换为“float”

我的课有问题。我要为我的班级制作比较运算符。
一些代码:

类声明:

问题是,我在 operator < 函数中有编译错误,在这一行:

部分正确:(浮动)其他

错误信息是:

问题的原因是什么?

0 投票
5 回答
15412 浏览

c++ - 如何为指向类的指针重载 operator==()?

我有一堂课叫AString. 这是非常基本的:

现在我想写这样的代码:

但是,现有的比较运算符只支持

如果我省略了那个星号,编译器就会不高兴。

有没有办法让比较运算符与 进行*AString比较const char*

0 投票
1 回答
341 浏览

c++ - std::rel_ops 功能作为基类。这是合适的解决方案吗?

我已将 std::rel_ops 命名空间的功能实现为模板基类(它仅使用运算符 < 和 == 定义所有比较运算符)。对我来说,它(到目前为止)正常工作有点奇怪,我也担心使用的“黑客”。任何人都可以评估以下代码并说我是幸运地工作还是这样做是标准做法。

0 投票
3 回答
30119 浏览

c++ - 仅使用 < 运算符检查整数是否在范围内

我需要想出一些代码来检查给定的整数是否在范围内。(范围由一对整数表示。)

所以,给定一个范围r定义为a 的范围std::pair<int, int>和一个测试整数n,我想说:

if (n >= r.first && n <= r.second)

问题是,我需要使用std::less<int>比较函子来执行此操作,这意味着我只能使用小于运算符。

我正在尝试提出等效的表达式。我很确定我的判断是正确的,但我并不完全有信心。

我想出的表达是:

( !cmp(n, r.first) && !cmp(r.second, n) )

在哪里cmp的一个实例std::less<int>

我做对了吗?

0 投票
8 回答
613 浏览

c++ - 比较运算符

这可能是个愚蠢的问题。有没有办法在运行时使用字符串变量给比较运算符。
假设我有一个向量中的工资数据。

p>

上面给出的输入。我将比较运算符存储在字符串 str 中。str =(任何比较运算符)。有没有什么方法可以在没有 if 和 switch 的情况下进行检查。

p>

0 投票
11 回答
19907 浏览

c# - C# Nullable Equality Operations,为什么 null <= null 解析为 false?

为什么在.NET中

解析为假,但是

解析为真的?

换句话说,为什么不null >= null等于null > null || null == null

有人有官方答案吗?