トップ  >  リファレンス  >  共通関数  >  CheckPointer
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ
CheckPointer


CheckPointer


オブジェクトポインタのタイプを返します

関数書式:
ENUM_POINTER_TYPE  CheckPointer(
   object* anyobject,     // オブジェクトポインタ
   );



■引数
引数名 初期値 I/O 詳細
anyobject - In オブジェクトポインタを渡します


■戻り値
ENUM_POINTER_TYPE列挙の値を返します


■備考
不正なポインタを使用する事はプログラムの致命的エラーを招く為、
ポインタを使用する前にCheckPointer()関数を呼ぶ必要があります。

不正なポインタのケースは以下の通りです。
 ・ポインタがNULL
 ・オブジェクトがdelete演算子を使用して削除されている


この関数は、ポインタの有効性を確認する為に使用する事が出来ます。
ポインタがアクセスする為に使用できる値はゼロ以外です。





サンプルソース:
class CItem{

};

//+------------------------------------------------------------------+
//| 初期化                         
//|------------------------------------------------------------------|
void OnInit(){

    CItem*               temp_class;
    ENUM_POINTER_TYPE temp_ret;

    temp_class = new CItem;
    temp_ret = CheckPointer(temp_class);

    if( temp_ret == POINTER_DYNAMIC) {
        Print( "new演算子で作成されたオブジェクト。","ポインタ:",temp_class , " チェック結果:",temp_ret );
    } else {
        Print( "他要因で作成されたオブジェクト。"   ,"ポインタ:",temp_class , " チェック結果:",temp_ret );
    }
}





スポンサーリンク



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


Top

inserted by FC2 system