В C ++ есть ли разница между выполнением &&
(логического) и &
(побитового) между bool (s)?
bool val1 = foo();
bool val2 = bar();
bool case1 = val1 & val2;
bool case2 = val1 && val2;
Идентичны ли case1
и case2
, или, если нет, то как именно они различаются и почему одно должно быть предпочтительнее другого? Переносимы ли побитовые и bools?