|
|
@ -1,7 +1,7 @@
|
|
|
|
# 智能指针
|
|
|
|
# 智能指针
|
|
|
|
在各个编程语言中,指针的概念几乎都是相同的:**指针是一个包含了内存地址的变量,该内存地址引用或者指向了另外的数据**。
|
|
|
|
在各个编程语言中,指针的概念几乎都是相同的:**指针是一个包含了内存地址的变量,该内存地址引用或者指向了另外的数据**。
|
|
|
|
|
|
|
|
|
|
|
|
在 Rust 中,最常见的指针类型是引用,引用通过 `&` 符号表示。不同于其它语言,引用在 Rust 中被赋予了更深层次的含义那就是:借用了其它变量的值。引用本身很简单,除了指向某个值外并没有其它的功能,也不会造成性能上的额外损耗,因此是 Rust 中使用最多的指针类型。
|
|
|
|
在 Rust 中,最常见的指针类型是引用,引用通过 `&` 符号表示。不同于其它语言,引用在 Rust 中被赋予了更深层次的含义,那就是:借用其它变量的值。引用本身很简单,除了指向某个值外并没有其它的功能,也不会造成性能上的额外损耗,因此是 Rust 中使用最多的指针类型。
|
|
|
|
|
|
|
|
|
|
|
|
而智能指针则不然,它虽然也号称指针,但是它是一个复杂的家伙:通过比引用更复杂的数据结构,包含比引用更多的信息,例如元数据,当前长度,最大可用长度等。总之,Rust 的智能指针并不是独创,在 C++ 或者其他语言中也存在相似的概念。
|
|
|
|
而智能指针则不然,它虽然也号称指针,但是它是一个复杂的家伙:通过比引用更复杂的数据结构,包含比引用更多的信息,例如元数据,当前长度,最大可用长度等。总之,Rust 的智能指针并不是独创,在 C++ 或者其他语言中也存在相似的概念。
|
|
|
|
|
|
|
|
|
|
|
|