#defineは定数だけでなく数式も定義可能

分かりにくいので定数以外の利用は非推奨

プリプロセッサ命令の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で数式を定義するより関数を作った方が絶対分かりやすいですし、応用が利きます。

余計な機能を使わず、できるだけシンプルにみんなが知っているであろう形式でコードを記述することはメンテナンス上重要です。

だまって関数使いましょう!

MT4の無料プログラミング講座

LINE公式アカウントを友だち追加して、MT4のプログラミング講座を無料で受けちゃおう!

超豪華プレゼントも盛りだくさん♪

MT4プログラミングを習得すると、オリジナルEA運用、作成代行、商品販売等、複数の収入源を手に入れられるよ。副業に最適だね!

↓↓↓ 詳細はこちら ↓↓↓

アイキャッチ

>

エターナル・パートナーPRO ~MT4裁量トレード支援ツール~ 「MT4は裁量トレーダーに優しくない」そう思ったことありませんか?もっと快適にトレードするための強力な売買ツールが必要だと考え、開発したのが「エターナル・パートナーPRO」です。元々は自分自身のために開発したツールですので、手抜き無しのガチものです。既に200名近い方に手に取っていただき、喜びの声が続々と届いております。ぜひご覧ください!

CTR IMG