当前位置:嗨网首页>书籍在线阅读

17-引用- 安全的指针

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.8.1 引用—— 安全的指针

在介绍借用时已经详细阐述了这类指针。引用类似于C语言中的指针,但同时会检查它们的正确性。它们永远不会为空值,并且指向拥有某些数据的变量。它们指向的数据既可以位于堆上,也可以位于堆栈上,或者位于二进制文件的数据段中。它们是通过&或者&mut运算符创建的。该运算符作为类型T的前缀时,会创建一个引用,&T表示不可变引用,&mut T表示可变引用。让我们重温一下这些内容。

  • &T:它是对类型T的不可变引用。&T指针就是一种Copy类型,这只是意味着你可以对类型T进行多次不可变引用。如果你将其赋给另一个变量,那么将得到一个指针的副本,指向相同的数据。这对于指向引用的引用也一样,例如&&T。
  • &mut T:它是对类型T的可变引用。在任意作用域内部,根据借用规则,你不能对类型T进行两次可变引用。这意味着&mut T类型没有实现Copy特征。它们也无法发送到线程。