私は次のコードスニペットに出くわしました
if( 0 != ( x ^ 0x1 ) )
encode( x, m );
どういうx ^ 0x1意味ですか?これは標準的なテクニックですか?
0 != (x ^ 1)→XOR両側1→によって(0 ^ 1) != (x ^ 1 ^ 1)→簡素化→1 != x
if (1 != x)書くのがいかに難しいかわかりません。
typeof xが指定されていないことを明確に指摘しています-したがって、これがこのC ++タグ付き問題の整数であることはわかりません。確かに、これがCまたはx整数の場合、答えは簡単ですが、それは与えられておらず、過負荷の可能性がありoperator ^ます。