Rust 引用

在讲引用以前先介绍一下全部权。python

Rust中每个值都有且仅有一个全部者,当其全部者离开做用域后,这个值就被丢弃。blog

let s1 = String::from("hello");
let s2 = s1;

 上述代码中s1将无效,由于改变量是存储在堆上的。作用域

let mut s = String::from("hello");

let s1 = &mut s;
let s2 = &mut s;

 该代码会编译报错。 编译

 由于在特定做用域中的特定数据有且只有一个可变引用。class

 也不能在拥有不可变引用的同时拥有可变引用。变量

let mut str1 = String::from("hello");
let borr_str1 = &mut str1;

 上述代码中str1将不能再使用,由于str1也属于可变引用。引用

相关文章
相关标签/搜索