Carbon语言 指针
Carbon语言中的指针是一种数据类型,指针是存放数据的内存单元地址。
计算机系统的内存拥有大量的存储单元,每个存储单元的大小为1字节,为了便于管理,必须为每个存储单元编号,该编号就是存储单元的“地址”,每个存储单元拥有一个唯一的地址。
Carbon 指针的基本语法:
// 定义i32类型变量x,值为5 var x: i32 = 5; // 把x的值改成10 x = 10; // 定义i32*类型的指针p,指向变量x的地址 var p: i32* = &x; // 通过指针修改x的值为7 *p = 7; // 定义i32*类型的指针q,使用&*p,同样指向变量x的地址 var q: i32* = &*p; // 通过指针q修改x的值为0 *q = 0; // 定义一个i32类型的变量y,值为0 var y: i32 = *p;
另外,Carbon 的指针不支持空指针,如果想表示不存在,使用 Optional。
Carbon语言与C++互操作,是Carbon宣传的重点,也是最大难点。现在Carbon语言还不完善,这里举一个Keynote中演示的例子。有一个C++的头文件 circle.h:struct Circle ...