以下是安全代码吗?
bargraph
或者我应该做什么
int main()
{
std::vector<int> v = buildVector();
if (v.size() > 2 && v[1]==2)
{
doThis();
} else
{
doThat();
}
}
我担心它会尝试在int main()
{
std::vector<int> v = buildVector();
if (v.size() > 2)
{
if (v[1] == 2)
{
doThis();
} else
{
doThat();
}
} else
{
doThat();
}
}
之前评估v[1] == 2
并导致分段错误或其他问题。如何使用逻辑OR进行类似的情况?
C ++是否会始终按照提供的顺序评估v.size() > 2
条件中的表达式,并在有足够信息知道它是if
还是true
时停止?