C言語@便利なマクロ
■ このスレッドは過去ログ倉庫に格納されています
0060デフォルトの名無しさん
2006/05/21(日) 06:53:40#define BIT(n) (1u << (n))
というマクロがあるとする。
これを、n を静的な定数に制限する代わりに
静的に n の値をチェックしてくれるようにしたいとする。
こういう場合にこのタイプの SASSERT が使える。
#define SBIT(n) (SASSERT(0 <= (n) && (n) < CHAR_BIT * sizeof (unsigned)), 1u << (n))
静的だから n に副作用はないから
n が複数出る事に問題は無い。
■ このスレッドは過去ログ倉庫に格納されています