Rust 程序设计语言 简体中文版 1.85.0s2 = {s2}"); 这段代码能正常运行,并且明确产生图 4-3 中行为,这里堆上的数据确实被复制了。 当出现 clone 调用时,你知道一些特定的代码被执行而且这些代码可能相当消耗资源。你很容 易察觉到一些不寻常的事情正在发生。 只在栈上的数据:拷贝 这里还有一个没有提到的细节。这些代码使用了整型并且是有效的,它们是示例 4-2 中的一部 分: let x = 5; let 我称之为我十亿美元的错误。当时,我在为一个面向对象语言设计第一个综合性的面 向引用的类型系统。我的目标是通过编译器的自动检查来保证所有引用的使用都应该 是绝对安全的。不过我未能抵抗住引入一个空引用的诱惑,仅仅是因为它是这么的容 易实现。这引发了无数错误、漏洞和系统崩溃,在过去四十年里可能造成了价值十亿 美元的痛苦和损失。 空值的问题在于当你尝试像一个非空值那样使用一个空值,会出现某种形式的错误。因为空和 非空的属性无处不在,非常容易出现这类错误。0 码力 | 562 页 | 3.23 MB | 24 天前3
共 1 条
- 1













