На ваш вопрос уже ответили другие, но просто для уточнения, так как здесь есть несколько слегка вводящих в заблуждение сообщений ...
Оператор &&
замкнут накоротко
if (false && Foo()) // Foo() is not run
Оператор &
не короткое замыкание
if (false & Foo()) // Foo() is run
Используйте последнее, если у ваших функций есть побочные эффекты, которые вы хотите обеспечить.