があり、と の間でブール式int
に切り替えたいとします。以下の可能性を考えました。0
1
int value = 0; // May as well be 1
value = value == 0 ? 1 : 0;
value = (value + 1) % 2;
value = !value; // I was curious if that would do...
- 3つ目はうまくいくようです。なんで?
!0
それは誰が決めるのです1
か? - これらのいずれかで何か問題がありますか?
- 他の可能性はありますか?例えば、ビット単位の演算子?
- 最高のパフォーマンスを提供するのはどれですか?
_Bool
それはすべて(またはbool
stdbool.hから)同一でしょうか?そうでない場合、違いは何ですか?
編集:多くの貴重な情報を含む多くの素晴らしい回答、ありがとう! 残念ながら、私は1つしか受け入れることができません。