"RawPointer" (コンパイルタイプ)

"RawPointer"::[t]

t のオブジェクトのポインタを表す.外部ライブラリでの使用に適している.

詳細

  • "RawPointer"::[t]はC言語のt*に等しい.

コンストラクタ

  • ToRawPointerを使って,包囲する関数が戻るまで有効なポインタオブジェクトを作成することができる.

特性

  • "RawPointer"::[t]ptrInformation[ptr,"BaseType"]"TypeSpecifier"::[t]を与える.
  • FromRawPointer[ptr]ptr が指す値を返す.

変換

    "CArray"

  • Castを使うとポインタをC配列にビットキャストすることも,C配列からポインタにビットキャストすることもできる.
  • "OpaqueRawPointer"

  • Castを使うとポインタを不透明なポインタにビットキャストすることも,不透明なポインタからポインタにビットキャストすることもできる.

Run-Time Errors

  • FromRawPointerを使ってポインタを逆参照することは安全な操作ではない.

例題

  (2)

"RawPointer"::["MachineInteger"]を作成し,それを逆参照する:

ポインタを編集することによってその結果を返すライブラリ関数を表す:

この関数を使うプログラムをコンパイルする: