【发布时间】:2011-04-17 04:56:09
【问题描述】:
可能重复:
Is short-circuiting boolean operators mandated in C/C++? And evaluation order?
是否有任何由标准或数学规则定义的评估布尔语句的顺序?例如:
if (firstTrue && secondTrue)
{
}
我可以确定 firstTrue 将首先被检查吗?
【问题讨论】:
-
不要太苛刻,但是获取标准的副本(在谷歌中搜索)并在那里查找可以帮助您解决大部分问题。
-
@David 我很好,但上帝知道我可以在这里问多久,而不是花费天知道我可以在最多 15 分钟内得到答案。这就是为什么如果我不知道我想寻找的确切位置,我会提出问题,而不是通过阅读标准来搜索几个小时。您可能会说,但标准是您应该查看的确切位置。是的,但是这个地方太大了,我不想花费数小时来寻找我宁愿在这里提问并拥有的东西在更短的时间内作为很好的答案。你同意这确实有意义吗?
-
这就像有人饿了,却得到了免费的鱼。它解决了当前的问题,但不会教你如何自己钓鱼。该标准起初很难阅读,但在您习惯了它的组织之后,浏览答案通常很快。特别是这类非常本地化的问题。不检查,我可以猜测在文档中可以找到
&&令牌的地方不超过两三个。 -
@David 不,这就像具有专业程序员的特征。如果要实现目标有很长的路要走,那就选择较短的。
-
continue 你用鱼的例子是不合适的。你的意思是它不会教我如何捕鱼?我的鱼是操作员 && 不是如何阅读和理解标准 - 我希望你同意这一点。我有两种选择来捕捉这条鱼(得到我关于 && 运算符的问题的答案),无论是简单的方式还是困难的方式。当你饿了,有人会给你准备好的炸鱼(回应你的饥饿感)或钓鱼竿(帮助你满足饥饿感的标准),你更喜欢哪一种?你一定知道,我不是问怎么钓鱼,我只是问了一条鱼。