Mi sono imbattuto nel seguente frammento di codice
if( 0 != ( x ^ 0x1 ) )
encode( x, m );
Cosa x ^ 0x1significa? È una tecnica standard?
0 != (x ^ 1)→ xo entrambi i lati di 1 → (0 ^ 1) != (x ^ 1 ^ 1)→ semplifica →1 != x
if (1 != x)sia difficile scrivere.
typeof xnon viene fornito, quindi non sappiamo che questo è un numero intero in questo problema con tag C ++. Certo, se questo è C o xè un numero intero, la risposta è semplice, ma non è un dato e operator ^esiste la possibilità di sovraccarico .