Rust 程序设计语言 简体中文版 1.85.0需要一个当我们处理完 String 时将内存返回给分配器的方法。 第一部分由我们完成:当调用 String::from 时,它的实现 (implementation) 请求其所需的内 存。这在编程语言中是非常通用的。 然而,第二部分实现起来就各有区别了。在有 垃圾回收(garbage collector,GC)的语言中, GC 记录并清除不再使用的内存,而我们并不需要关心它。在大部分没有 GC 的语言中,识别 注解,将会出现一个编译时错误。要学习如何为你的 类型添加 Copy 注解以实现该 trait,请阅读附录 C 中的 “可派生的 trait”。 那么哪些类型实现了 Copy trait 呢?你可以查看给定类型的文档来确认,不过作为一个通用的 规则,任何一组简单标量值的组合都可以实现 Copy,任何不需要分配内存或某种形式资源的 类型都可以实现 Copy 。如下是一些 Copy 的类型: • 所有整数类型,比如 u32。 • 布尔类型,bool,它的值是 deref coercions 的优势,这个特性我们将在“函 数和方法的隐式 Deref 强制转换”章节中介绍。定义一个获取字符串 slice 而不是 String 引用 的函数使得我们的 API 更加通用并且不会丢失任何功能: 文件名:src/main.rs fn main() { let my_string = String::from("hello world"); // `first_word`0 码力 | 562 页 | 3.23 MB | 1 月前3
共 1 条
- 1
 













