分かりにくいので定数以外の利用は非推奨
プリプロセッサ命令の1つ、#defineディレクティブ。
定数を定義する際に用いるのが一般的です。
たとえば、円周率や注文コメントを定義するとこうなります。
#define PI 3.14 #define ORDER_COMMENT "EACommnet"
末尾にセミコロンは付けないので、要注意です。
私もよく使っていますが、実は#define、定数だけでなく数式も定義できるんですよ。
#define A 2+3 #define B 5-1 #define MUL(a, b) ((a)*(b)) double c=MUL(A,B); Print("c=",c); /* double c=MUL(A,B); の式は double c=((2+3)*(5-1)); と同じです。 */ // 結果 // c=20
ただ、へ~とは思うものの、可読性が高いとは全く思いません。
実際、上記を読み解くのに時間かかりませんでした?
#defineで数式を定義するより関数を作った方が絶対分かりやすいですし、応用が利きます。
余計な機能を使わず、できるだけシンプルにみんなが知っているであろう形式でコードを記述することはメンテナンス上重要です。
だまって関数使いましょう!