我读了一些遗留代码:

if ( 1 || !Foo() )

有什么理由不写:

if ( !Foo() )

推荐答案

这两个是一样的.第一个永远不会判断Foo(),因为1使||短路.

为什么这么做——可能有人出于调试目的想强行进入then分支,然后把它留在那里.这也可能是在源代码控制之前编写的,所以他们不希望代码丢失,而只是绕过for now.

C++相关问答推荐

C语言中的“对象”是什么?

C中的外部/全局变量

强制转换为“超类”并返回 C 是否违反严格别名?

在 Macbook M1 上为 Tensorflow 安装 C API

使用R的`.C`接口处理读/写文件

在 C 中使用 AVX 实现矩阵运算

在链表中动态存储数据的问题

如何使用带有 typedef 的注册存储类?

| vs < 用于标准输入和标准输出,在 C 中使用拼接、管道和 tee 命令

C printf中的'I'(大写i)标志是什么?

为什么快速整数类型比其他整数类型快?

Xlib 和 Firefox 行为

在 C/C++ 中获得正模的最快方法

为什么不鼓励静态链接 glibc?

这段代码如何在不使用 sizeof() 的情况下确定数组大小?

为什么我在使用 rand() 时会得到这种特殊的 colored颜色 模式?

使用无符号而不是有符号的 int 是否更有可能导致错误?为什么?

“for”循环内的“for”循环可以使用相同的计数器变量名吗?

使用模数的 C 加法

为什么 c = ++(a+b) 会出现编译错误?