|
1
31
然而,你会有一些人(像我一样)仍然会使用方法1,因为他们觉得它更可读,如果有错误,它将在测试过程中被检测到(或者在某些情况下,对代码进行静态分析)。 |
|
|
2
10
唯一的区别是(CONST_VALUE==变量)使得常见的拼写错误(CONST_VLUE=变量)无法编译。 相比之下,if(variable=CONST_VALUE)会导致编译器认为您打算将CONST_VALU分配给“variable”。 ====混淆是C中一个非常常见的bug来源,这就是为什么人们试图用编码约定来解决这个问题。
|
|
|
3
3
我仍然使用“variable==CONST_VALUE”,因为我认为它更易读,当我看到类似以下内容时:
我的血压升高了。 |
|
|
4
2
第一种变体
更好,因为它更易读。它遵循了一个惯例(也用于数学),即变化最大的值排在第一位。 第二种变体
某些人使用它来防止等式检查与赋值混淆
|
|
|
5
1
其他人已经指出了原因。====混淆。我更喜欢第一个版本,因为它更贴近思考过程。一些编译器通过在遇到以下情况时发出警告来缓解=和==的混淆
在这种情况下,如果你真的想完成任务,你就不得不写
那时我会写为
以避免混淆。 也就是说,在我们的代码1中,我们遇到了一个====混淆的情况,反过来写也没有帮助,因为这是var之间的比较。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |