!!
を広く使用するC++コードがあります。私が知る限りでは、!!
はそれ自身の演算子ではなく、2つの!
の後にあるので、私はちょっと困惑しています。つまり、!!foo
はちょうどfoo
と同じです。二重論理NOT(!!)演算子を使用すると混乱します
!!
が実際に意味を持つ場所や理由はありますか?少し賢明な意味があるのではないかと考えていましたか?だから最初にfoo
でビット単位の操作を実行し、次に結果として!
を実行しますか?しかし、私はビット賢明な演算子として使用されている!
を覚えているようではないと私にそれを教えている参照を見つけるように思われません。私の知る限りfoo != 0
場合のみ!!foo == 1
そして、論理演算子として、その場合には
!!foo == foo
「x +++++ y + 1」と書くこともできますが、それは悪い考えです。 – msw
@GrahamBorland今私はそこに行ってこれを複製して投票するつもりです。 –
あなたはこれを読むことも好きかもしれません。 in c?*](http://stackoverflow.com/questions/14751973/what-is-in-c?lq=1)。 –