トップ  >  リファレンス  >  基本  >  演算子・式  >  算術演算子
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ
算術演算子


算術演算子は以下の通りです。
算術演算の種類 演算子 使用例
加算 + a = a + 2;
減算 - a = a - 1;
符号の反転 ~ a = ~a;
乗算 * a = a * 2;
除算 / a = a / 2;
後置インクリメント ++ a++;
前置インクリメント ++ ++a;
後置デクリメント -- a--;
前置デクリメント -- --a;


インクリメントとデクリメントは変数に対してのみ使用出来ます。
定数に対しては使用出来ません。

前置インクリメント・前置デクリメントは変数が式で使われる前に演算されます。
後置インクリメント・後置デクリメントは変数が式で使われた直後に演算されます。


特記事項
サンプルソース:
    int i=5;

    int k= i++ + ++i;

上記サンプルソースを他のプログラミング環境(ボーランドC++等)で動かすと、演算に問題が発生する事があります。

一般的に計算順序はコンパイラに依存します。
後置インクリメント(デクリメント)の実行には2種類の方法があります。

◆パターン1、後置インクリメントは全ての式を計算した後に変数に適用する。
◆パターン2、後置インクリメントは変数の演算直後に適用する。

MQL4ではパターン1になります。

この特徴を知っていたとしても、この使用方法は推奨されません。

管理人の勝手なコメント:
コンパイラに依存するコーディングは止めた方が良いです。
上記の様な1つの式中に複数インクリメントを使用するのはソース的にも見難くなり、デバッグ時に混乱を招きます。
サンプルソース:
    int a=3;
    a++;              // 有効なインクリメント
    Print(a);        // 4表示

    int b= (a++)*3;  // 無効なインクリメント
    Print(b);        // 12表示(bへの代入時にはインクリメントされていない)
スポンサーリンク



Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system