Me deparei com o seguinte trecho de código
if( 0 != ( x ^ 0x1 ) )
encode( x, m );
O que x ^ 0x1
significa isso ? Isso é alguma técnica padrão?
0 != (x ^ 1)
→ xou ambos os lados por 1 → (0 ^ 1) != (x ^ 1 ^ 1)
→ simplificar →1 != x
if (1 != x)
é difícil escrever.
type
de x
não é fornecido - portanto, não sabemos que esse é um número inteiro nesse problema marcado com C ++. Claro, se este é C ou x
é um número inteiro, a resposta é fácil, mas isso não é um dado e operator ^
existe a possibilidade de sobrecarga .