【Rust 指南】4.4 引用与借用

发布日期:2026-04-08 10:04:51   浏览量 :2
发布日期:2026-04-08 10:04:51  
2

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

4.4.0 正文之前

本节实际上类似于 C++ 中智能指针的移动语义在编译器层面所受到的约束。Rust 中引用的写法,通过编译器的限制,变成了 C++ 中编写指针最理想、最规范的方式。因此,任何学过 C++ 的人都一定会觉得本章非常熟悉。

如果你觉得有帮助,请点赞、收藏并关注。若想持续学习,请关注本系列。

4.4.1 引用

引用允许函数使用某个值而不获取其所有权。声明引用时,在类型前加上 & 以表示这是一个引用。例如,String 类型的引用是 &String。如果你学过 C++,C++ 中的解引用操作符是 *,Rust 中也是一样的。

学习了引用之后,你就可以简化上一篇文章末尾的示例。

以下是之前的代码:

fn main() {
    let s1 = String::from("hello");
    let (s2, len) = calculate_length(s1);
    println!("字符串 '{}' 的长度为 {}", s2, len);
}

fn calculate_length(s: String) -> (String, usize) {
    let length = s.len();
    (s, length)
}

以下是修改后的代码:

fn main() {
    let s1 = String::from("hello");
    let length = calculate_length(&s1);
    println!("字符串 '{}' 的长度为 {}", s1, length);
}

fn calculate_length(

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部