区分 '(bCondition == NULL)' 和 '(NULL == bCondition)'
在各种编程环境中,特别是当参考 MSDN 资源,您可能会遇到两个看似可以互换的条件表达式: '(bCondition == NULL)' 和 '(NULL == bCondition)'。虽然乍一看它们可能看起来相同,但在处理潜在拼写错误时,它们的行为存在细微差别。
将变量与 NULL 进行比较时,首选使用“(NULL == bCondition)”以获得更好的错误检测意外错放赋值运算符“=”而不是比较运算符“==”的情况。考虑以下示例:
代码:
if (bCondition = NULL) // Typos { // Code never executes }
在本例中,发生了拼写错误,错误地使用了“=”(赋值)而不是“=” ='(比较)。这会导致条件语句的计算结果始终为“false”,因为赋值运算符将 NULL 分配给“bCondition”,而不是进行比较。因此,块内的代码永远不会被执行。
另一方面,如果我们使用 '(NULL == bCondition)' 代替:
代码:
if (NULL = bCondition) // Error { // ... }
在这种情况下,编译器会检测到拼写错误并发出错误,指示将 NULL 赋值给 bCondition是无效操作。此错误检测可以防止意外分配,从而可能导致意外的程序行为。
因此,通常建议使用符号“(NULL == bCondition)”来检查 NULL 的条件,因为它提供了更强大的功能拼写错误时的错误处理。
以上是为什么 C/C 中 `(NULL == bCondition)` 优于 `(bCondition == NULL)` ?的详细内容。更多信息请关注PHP中文网其他相关文章!