2

我在一些代码库中看到了一种“诗意”的代码。虽然它看起来很直,但只是想确认它是否朝着正确的方向。
以非常简单的形式:

bool foo ();  
bool bar ();  

int main () {
  foo() or bar();  // <--- line
}

突出显示行的代码是否与下面的代码片段一样好?

if(foo() == false)
  bar();

我知道,调用所有语句的运算符,但不确定or(等效于||)运算符。
在 g++ 中测试,它给出了预期的输出

4

2 回答 2

1

是的,or运算符是 . 的文本等价物||

所以你说的是对

于 2013-08-03T11:15:02.727 回答
0

如果第一个条件是true不再评估另一个条件(在||' 的情况下),因此正如您所说

if(foo() == false)
  bar();

&&如果第一个条件是false,则第二个条件不再评估时,同样适用。

于 2013-08-03T11:12:22.190 回答