addr 操作符
addr 运算符返回左值的地址。如果地址的类型是 T, 则 addr 运算符结果的类型为 ptr T 。 地址总是一个未追踪引用的值。获取驻留在堆栈上的对象的地址是 不安全的 , 因为指针可能比堆栈中的对象存在更久, 因此可以引用不存在的对象。 我们得到变量的地址,是为了更容易与其他编译语言互操作(如C),也可以做到检索 let 变量、参数或 for 循环变量的地址:
let t1 = "Hello"
var
t2 = t1
t3 : pointer = addr(t2)
echo repr(addr(t2))
# --> ref 0x7fff6b71b670 --> 0x10bb81050"Hello"
echo cast[ptr string](t3)[]
# --> Hello
# 下面这行代码也可以使用
echo repr(addr(t1))
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .