java - C++ 中的 && 与 Java 中的 && 行为相同吗?

标签 java c++ logical-operators

我的问题基本上在标题中。基本上,我了解到在 Java 中,&& 运算符就像短路一样,因此如果第一个条件的计算结果为 false,它就不会查看语句的其余部分。我假设在 C++ 中就是这种情况,但我正在编写一些代码,首先检查索引是否超过列表大小,然后将列表中的索引与另一个数字进行比较。像这样的东西:

//let's say list.size()=4;

for(int i=0; i<10; i++)
{
   if(i < list.size() && list.get(i) == 5)
       //do something
   ...
}

这不是确切的代码,但它说明了这一点。我假设由于 i > 列表大小,下半部分不会得到评估。但它似乎仍然如此,我相信这是导致段错误的原因。我知道我可以使用嵌套的 ifs,但这太碍眼了,而且浪费空间。有帮助吗?

最佳答案

是的,在 C 和 C++ 中,&& 和 ||运营商短路。

关于java - C++ 中的 && 与 Java 中的 && 行为相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865814/

相关文章:

java - 在 Android 中选中单选按钮时,如何取消选中单选组中的所有单选按钮?

java - 无法使用 Jackson 从对象值(无基于委托(delegate)或基于属性的创建者)反序列化

java - 删除键后可以安全地迭代 hasmap 的值集合吗?

c++ - 在 Qt 中跟踪事件

python - AND 逻辑门的单层神经网络 (Python)

scala - 了解 | scala中的运算符

testing - 带有决策和声明覆盖率劣势示例的问题

java - Android VideoView 创建过多的信息/警告消息

c++ - 将整数参数从 Vb6 传递到 C++ dll

c++ - 将 WCHAR 数组作为 LPARAM 发送到 winproc 的正确方法是什么?