address 属性

Pointer<Uint16> address

底层数据的内存地址。

形如 expression.address 的表达式表示此 address,只能作为整个参数表达式在调用叶 Native 外部函数时出现。

示例

@Native<Void Function(Pointer<Uint16>)>(isLeaf: true)
external void myFunction(Pointer<Uint16> pointer);

void main() {
  final list = Uint16List(10);
  myFunction(list.address);
}

.address 之前的表达式将被评估为赋值表达式的左侧,表示访问表达式背后的存储,可用于读写。然后 .address 提供对该存储的原生指针。

在调用叶 Native 外部函数时,将评估 .address。这确保 Dart 垃圾收集器不会移动地址指向的对象。

实现

external Pointer<Uint16> get address;