Crate alloc1.36.0[][src]

Expand description

Rust core 分配和集合库

该库提供了用于管理堆分配值的智能指针和集合。

与 libcore 一样,该库通常不需要直接使用,因为其内容已重导出到 std crate 中。 但是,使用 #![no_std] 属性的 Crates 通常不依赖于 std,因此他们会改用此 crate。

Boxed 值

Box 类型是智能指针类型。Box 只能有一个所有者,所有者可以决定对内容进行可变的,这些内容存在于堆中。

由于 Box 值的大小与指针的大小相同,因此可以在线程之间高效地发送此类型。 由于每个节点通常只有一个所有者,即父节点,因此通常使用 boxes 构建树状数据结构。

引用计数指针

Rc 类型是一种非线程安全的引用计数指针类型,旨在共享线程内的内存。 Rc 指针包装类型 T,并且仅允许访问共享引用的 &T

当继承的可变性 (例如使用 Box) 对于应用程序来说过于受限时,此类型很有用,并且通常与 CellRefCell 类型配对以允许进行可变的。

原子引用计数指针

Arc 类型与 Rc 类型等效。它提供 Rc 的所有相同功能,不同之处在于它要求包含的 T 类型是可共享的。 此外,Arc<T> 本身可发送,而 Rc<T> 不可发送。

这种类型允许共享访问所包含的数据,并且通常与同步原语 (例如互斥锁) 配对以允许共享资源的可变。

Collections

该库中定义了最通用的通用数据结构的实现。它们通过 standard collections library 重导出。

堆接口

alloc 模块将默认接口定义为默认分配器。它与 libc 分配器 API 不兼容。

Modules

preludeExperimental

分配 Prelude

alloc

内存分配 API

borrow

用于处理借用数据的模块。

boxed

堆分配的指针类型。

collections

集合类型。

fmt

用于格式化和打印 Strings 的实用工具。

rc

单线程引用计数指针。Rc 代表引用计数。

slice

动态大小的视图到一个连续的序列, [T].

str

Unicode 字符串片。

string

一个 UTF-8 编码的可增长字符串。

sync

线程安全的引用计数指针。

task

类型和 Traits 用于处理异步任务。

vec

具有堆已分配内容的连续可增长数组类型,写为 Vec<T>

Macros

format

使用运行时表达式的插值创建 String

vec

创建一个包含参数的 Vec