ビットシフトとマスキング演算の使用のためにコンパイル時に生成される定数が必要な場合がよくあります。コンパイラ前処理中の数学演算
#define blockbits 8
#define blocksize 256 // could be generated from 2^blockbits
#define blocksize 0xFF // could be generated from blocksize - 1
私はこれらすべてが3210から生成されたい、しかし、私が知っプリプロセッサで使用することができる無電力動作はありません。
誰もコンパイル時にこのようなことを生成する簡単な方法を知っていますか?
"しかし、私が知っているプリプロセッサで使用できるパワー操作はありません。" - 本当ですか?ビットシフトはどうですか? –
これはC++だから、定数ではなく '#define'の理由は何ですか? – Kos
これは 'constexpr'の仕事ではありませんか? – DavidO