System.Pointer

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

type Pointer = ^Pointer;

C++

typedef void*                Pointer;          //

プロパティ

種類 可視性 ソース ユニット
pointer
typedef
public
System.pas
sysmac.h
System System

説明

メモリ内のバイトのアドレスです。


void ポインタはメモリ内の 1 つのバイトのアドレスを表します。このようなポインタは、型情報が関連付けられていないため、逆参照できません。ただし、void ポインタを型付きポインタにキャストしてから逆参照することはできます。

指定子 register を付けて宣言された変数はメイン アドレス空間にないため、参照できません。

逆参照操作の結果は、次のように、ポインタ値によって異なります。

ポインタ値 逆参照の結果
データのアドレス データ値になります。
関数/手続きのアドレス 関数/手続きの呼び出しになります。
nil/NULL エラーまたは例外を生成します。EAccessViolation を参照。
無効 結果は未定義です。ソフトウェア障害を表します。EInvalidPointer を参照。

ポインタ参照/逆参照演算子は以下のとおりです。

Delphi C++
参照 @object &object
逆参照 object_pointer^ *object_pointer


ポインタのサイズは、オペレーティング システムやプロセッサによって異なります。32 ビット プラットフォームでは、ポインタは 32 ビット アドレスとして 4 バイトで格納されます。64 ビット プラットフォームでは、ポインタは 64 ビット アドレスとして 8 バイトで格納されます。

関連項目