Rust 程序设计语言 简体中文版 1.85.0
cargo add rand@0.8.5 trpl@0.2.0 这会将这些包的下载结果缓存起来,因此你之后就不需要再下载它们了。运行完该命令后,你 无需保留 get-dependencies 文件夹。一旦你运行了这些命令,就可以在本书之后所有的 cargo 命令中,使用 --offline 参数来使用这些缓存的版本,而不必尝试使用网络。 14/562Rust 程序设计语言 简体中文版 Hello C 语言中,尝试读取数据结构之后的值是未定义行为(undefined behavior)。你会得到任何 对应数据结构中这个元素的内存位置的值,甚至是这些内存并不属于这个数据结构的情况。这 被称为 缓存区过读(buffer overread),并可能会导致安全漏洞,比如攻击者可以像这样操作 索引来读取储存在数据结构之后未经授权的数据。 为了保护程序不受此类漏洞的影响,如果尝试读取一个索引不存在的元素,Rust AveragedCollection 结构体,其中有一个存有 Vec的字段。该结构体还可以有一个字段 存储向量中值的平均值,从而无需在每次需要时重新计算。换句话说,AveragedCollection 会 为我们缓存已计算的平均值。示例 18-1 给出了 AveragedCollection 结构体的定义: 文件名:src/lib.rs pub struct AveragedCollection { 0 码力 | 562 页 | 3.23 MB | 9 天前3
共 1 条
- 1