& отличие от && i

    int i1 = (mode_ & myDef::FM_ROW_IS_CHOISED);
    int i2 = ! chk_edit_InLine_Enabled->isChecked();

			

qDebug() << " i1 " << i1 << " i2 " << i2 << " i1 & i2 " << (i1 & i2) << " i1 && i2 " << (i1 && i2) ;

Вывод:

I1 2 i2 1 i1 & i2 0 i1 && i2 true

То есть & это побитовая операция
&& - это чисто логическое выражение , результатом которого будет true если значение больше 0 и false если значение равно 0.