指针是一个通用概念,指的是一个包含内存地址的变量,这个地址指向或者“指向”其他数据。在 Rust 中,最常见的指针是引用(reference),它使用 & 符号表示,并且借用它所指向的值。引用没有任何特殊的功能,除了指向数据之外,并且没有开销。 智能指针是数据结构,它的行为类似于指针,但也具有附加的元数据和功能。智能指针的概念并不局限于 Rust:智能指针起源于 C++,并且在其他语言中也存在。Rust 在标准库中定义了各种智能指针,提供了比引用更多的功能。为了探讨智能指针的一般概念,我们将看几个不同的智能…