¿Hay alguna diferencia entre && y & con bool (s)?

En C ++, ¿hay alguna diferencia entre hacer&& (lógico) y& (bit a bit) entre bool (s)?

bool val1 = foo();
bool val2 = bar();

bool case1 = val1 & val2;
bool case2 = val1 && val2;

Soncase1 ycase2 idénticos o, si no, ¿cómo varían exactamente y por qué uno elegiría uno sobre el otro? ¿Es portátil un bitwise y de bools?

Respuestas a la pregunta(7)

Su respuesta a la pregunta