我的问题基本上在标题中。基本上我已经了解到,在 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 > 列表大小,后半部分不会被评估。但它似乎仍然存在,我相信这会导致 Seg Fault。我知道我可以使用嵌套的 if,但这太碍眼而且浪费空间。有什么帮助吗?