C言語なら俺に聞け! Part 76
■ このスレッドは過去ログ倉庫に格納されています
0361デフォルトの名無しさん
NGNGCのbitフィールドつかえってことだろ! それぐらいおれでもわかったぞ。
#define MASK_I_FOOBAR 0x04
#define MASK_I_BARFOO 0x10
...とか30個ぐらいあって、
else if ((foo & MASK_I_FOOBAR) == MASK_I_FOOBAR)
func(a);
else if ((foo & MASK_I_BARFOO) == MASK_I_FOOBAR)
...なんて書いてもコンパイラーはエラー出してくれないんですよ! (あたりまえ)
1bitなら、シフトする方法もつかえるが、まあ2bit以上の場合もかんがえれば、
andとって比較だろうな。
で、1bitの場合なんかは、bitフィールドつかったときの効果が大きい
(すごくみやすくなる)
■ このスレッドは過去ログ倉庫に格納されています