算術演算子

算術演算には加法と乗法の演算が含まれます。

変数の加算                 i = j + 2;
変数の減算                 i = j - 3;
符号の反転                 x = - x;
変数の乗算                 z = 3 * x;
除算                      i = j / 5;
剰余                      minutes = time % 60;
変数に 1 を加算する          i++;
変数に 1 を加算する          ++i;
変数から 1 を減算する         k--;
変数から 1 を減算する         --k;

インクリメントとデクリメント演算は変数だけに適用され、定数に適用することは出来ません。プレインクリメント( ++i )とプレデクリメント( --k )は、この変数が式の中で使用される直前に適用されます。

ポストインクリメント( i++ )とポストデクリメント( k-- )は、この変数が式の中で使用された直後に適用されます。

重要事項

int i=5;
int k = i++ + ++i;

上記の式を別のプログラミング環境に移動(例えば Borland C++ から MQL5)すると計算問題が発生することがあります。一般的に、計算の順序はコンパイラの実装に依存します。実際には、ポストデクリメント(ポストインクリメント)を実装する方法は 2 つあります。

  1. 式全体を計算した後、ポストデクリメント(ポストインクリメント)が変数に適用される
  2. 演算時すぐに、ポストデクリメント(ポストインクリメント)が変数に適用される

現在 MQL5 では、1 つ目の計算方法が実装されています。しかし、この知識があっても、その使用法と実験することは推奨されていません。

例:

int a=3;
a++;           // 有効な式
int b=(a++)*3; // 無効な式

参照

優先順位のルール