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;