我正在使用 C++ 编写一个庞大的代码库。作者使用了 0==i 语法来检查相等性。我已经用 C++ 编码了好几年了;我一直使用 i==0 语法。

前者比后者有什么优势吗?还是只是个人喜好?

最佳答案

前者的优点是可以防止程序员不小心遗漏等号。

if (i = 0)

以上是合法的,并将 i 设置为零,并且是假的(因为零被认为是假的)。
if (0 = i)

以上在所有情况下都是非法的。

今天,大多数编译器会警告 if (i = 0) ,但这不是必需的,而且他们并不总是这样做。

10-06 10:38