当遇到 (bool1 && bool2) 时,c++ 是否会尝试检查 bool2 是否发现 bool1 为 false,还是会像 PHP 那样忽略它?
抱歉,如果这个问题太基础了,但我确实在 Schildt 和互联网上都找不到提及这一点。
是的&&
C++ 中的运算符使用短路评估 http://en.wikipedia.org/wiki/Short-circuit_evaluation这样如果bool1
评估为false
它不打扰评估bool2
.
“短路评估”是一个奇特的术语,你想在谷歌上搜索并在索引中查找。
同样的情况也发生在||
运算符,如果bool1
评估为true
那么整个表达式将计算为 true,而不计算bool2
.
如果您想计算所有表达式,您可以使用&
and |
运营商。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)