[在某些情况下,我将不得不遍历数组/向量来寻找满足涉及元素值的条件的元素。过去,我会与[[ C0]语句,但最近我看到了一段看起来更简单的代码。确切地说:
我曾经这样做:
for
现在对此感到好奇:
if
[我喜欢这个定义,它简短一些,实际上我相信它更容易阅读,但是令我困扰的是向量为空的情况。
我不确定for( int i = 0; i < vector.size(); i++ )
if( condition[i] )
do_stuff;
处理布尔值的方式,它是否检查第一个条件,如果错误则用于第二个条件?还是会同时检查两者?如果真是这样,那应该是错误的,因为我正在检查不存在的元素上的条件。
在空载体上尝试代码后,它编译并运行得很好,只是为了确保我也尝试过此方法:
int i = 0;
while( i < vector.size() || condition[i] )
i++;
它也很好用。
但是对我来说,检查不存在的值的条件似乎仍然不完全正确,我不确定是否应该使用它。可以吗?还是我应该去找别的东西?
任何帮助都会很棒。
是,||
进行短路评估。