Гарантируется ли логическая проверка слева направо (&&
||
)?
Допустим, у меня есть это:
SDL_Event event;
if (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
// do stuff
}
}
Гарантируется ли это так же, как это?
SDL_Event event;
if (SDL_PollEvent(&event) && event.type == SDL_QUIT) {
// do stuff
}
Это также может быть очень важно, скажем, у нас есть два требования, a
и b
. Требование a
более вероятно не выполнится, чем b
. Тогда эффективнее будет сказать if (a && b)
, чем if (b && a)
.