"RawPointer" (编译类型)

"RawPointer"::[t]

代表一个指向类型为 t 的对象的指针,适合与外部库一起使用.

更多信息

  • "RawPointer"::[t] 等价于 C 语言中的 t*.

函数构造

  • ToRawPointer 可以用来创建一个指针对象,该对象在封闭函数返回之前一直有效.

属性

  • 类型 "RawPointer"::[t]ptrInformation[ptr,"BaseType"] 给出 "TypeSpecifier"::[t].
  • FromRawPointer[ptr] 返回 ptr 所指向的值.

转换

    "CArray"

  • Cast 可用于在 C 语言数组和指针之间进行相互 bitcast 转换.
  • "OpaqueRawPointer"

  • Cast 可用于在指针和不透明的指针之间进行相互 bitcast 转换.

运行时错误

  • FromRawPointer 对指针解引用 (dereferencing) 是一个不安全的操作. 试图对无效指针解引用会导致崩溃.

范例

基本范例  (2)

创建 "RawPointer"::["MachineInteger"],然后对其进行解引用:

代表一个通过修改一个指针来返回其结果的库函数:

编译一个使用该函数的程序: