関数のconst修飾子とは

MetaTrader 4
GogoJungle
2019/08/02 21:44
14

通常ですと、関数の引数で渡されてきた値は関数の処理内で値を変更することが可能です。

int SampleFunction(int a){
   a = a + 1;
   return(a);
}

引数にconst修飾子を付けた場合には関数内で渡された値を変更することができません。
もしconst修飾子が付いた引数の値を変更するような処理があった場合にはコンパイルエラーとなります。

int SampleFunction(const int a){
   a = a + 1; // コンパイルエラー
   return(a);
}

引数によっては渡されてきた値をそのまま使いたい場合があります。
そのような場合にはconst修飾子を付加しておくことで誤って値が変更されてしまうことを防ぐことができます。

デフォルト関数ですとOrderSend関数の通貨ペア名などでもconst修飾子が使用されています。

int OrderSend(
   const string symbol,
   int cmd,
   double volume,
   double price,
   int slippage,
   double stoploss,
   double takeprofit,
   const string comment=NULL,
   int magic=0,
   datetime expiration=0,
   color arrow_color=clrNONE
);

コメント

関連項目

検索結果がありません。