コンパイル時の定数項 その2
Posted: 2009年6月15日(月) 19:01
前回の質問で
DATA( 1+(2+4)*((((((4+5))))))-5 );
はコンパイル時に
DATA( 50 );
になると知ったんですが
定数項以外の要素がある式でも、ある程度統合してくれるのでしょうか?
例えば
DATA( 5+3+i );
が
DATA( 8+i );
見たいな感じで・・
マクロとかを入れても大丈夫でしょうか・・
#define P 9
DATA( 8+P+i );
が
DATA( 17+i );
みたいに・・
このような事が可能だとしたら
順番は関係あるのでしょうか?
DATA( 2+i+8 );
が
DATA( 10+i );
とか・・
順番によって変わってくるとしたら
定数項を一纏めにしておいた方が良いって事になりますね・・
あと定数項の式が0になる場合はどうなるんでしょうか?
DATA( 1-1+i );
は
DATA( 0+i );
と
DATA( i );
のどっちになるのでしょうか?
質問が長くなってすいません・・
DATA( 1+(2+4)*((((((4+5))))))-5 );
はコンパイル時に
DATA( 50 );
になると知ったんですが
定数項以外の要素がある式でも、ある程度統合してくれるのでしょうか?
例えば
DATA( 5+3+i );
が
DATA( 8+i );
見たいな感じで・・
マクロとかを入れても大丈夫でしょうか・・
#define P 9
DATA( 8+P+i );
が
DATA( 17+i );
みたいに・・
このような事が可能だとしたら
順番は関係あるのでしょうか?
DATA( 2+i+8 );
が
DATA( 10+i );
とか・・
順番によって変わってくるとしたら
定数項を一纏めにしておいた方が良いって事になりますね・・
あと定数項の式が0になる場合はどうなるんでしょうか?
DATA( 1-1+i );
は
DATA( 0+i );
と
DATA( i );
のどっちになるのでしょうか?
質問が長くなってすいません・・