オブジェクトポインタのタイプを取得 CheckPointer 関数

関数

共通関数

CheckPointer 関数

 この関数は、オブジェクトポインタのタイプを ENUM_POINTER_TYPE 列挙値から選択して取得します。これは、ポインタの有効性をチェックするために使用されます。0以外の値は、ポインタがアクセスして使用できることを保証します。

 不正なポインタを呼び出した場合、プログラムが重大なエラーとして終了します。そのため、ポインタを使用する前に CheckPointer関数を呼び出す必要があります。次の場合、ポインタは正しくない可能性があります。
・ポインタが NULL(0)。
・オブジェクトが delete演算子を使用して削除されている。

データ型と構成・戻り値

enum CheckPointer(①);

 戻り値は、オブジェクトポインタのタイプを返します。取得されるタイプは ENUM_POINTER_TYPE 列挙値から選択されます。

引数 [1]

 CheckPointer関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
anyobjectobject*オブジェクトポインタ。

使用例

CheckPointer関数によるオブジェクトポインタのタイプの確認

 CheckPointer関数を使ってオブジェクトポインタのタイプ(ENUM_POINTER_TYPE)を確認します。

コード

// CheckPointer関数によるオブジェクトポインタのタイプの確認
#property strict
void OnInit() {

Ctest* test_class;
Ctest* test_class1;    // ①
Ctest  test_class2[2]; // ②
   
test_class1 = new Ctest;
   
test_class = GetPointer(test_class1);
Print("①new演算子で作成したオブジェクトのポインタ:", test_class, " ポインタタイプ:", CheckPointer(test_class));
   
test_class = GetPointer(test_class2[0]);
Print("②配列で作成したオブジェクトのポインタ:", test_class, " ポインタタイプ:", CheckPointer(test_class));
}
class Ctest{};

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました