We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 188f312 commit 73a5029Copy full SHA for 73a5029
source/chapter4/1rust-dynamic-allocation.rst
@@ -80,7 +80,7 @@ Rust 的标准库中提供了很多开箱即用的堆数据结构,利用它们
80
81
- 裸指针 ``*const T/*mut T`` 基本等价于 C/C++ 里面的普通指针 ``T*`` ,它自身的内容仅仅是一个地址。它最为灵活,但是也最不安全。编译器只能对它进行最基本的可变性检查(只读的数据不能写), :ref:`第一章 <term-raw-pointer>` 曾经提到,通过裸指针解引用来访问数据的行为是 unsafe 行为,需要被包裹在 unsafe 块中。
82
- 引用 ``&T/&mut T`` 实质上只是一个地址范围,但是 Rust 编译器会在编译的时候进行比较严格的 **借用检查** (Borrow Check) ,来确保在编译期就解决掉很多内存不安全问题。详细内容可以参考 :ref:`Rust 所有权模型 <rust-ownership-model>` 。
83
-- 智能指针不仅包含它指向区域的地址范围,还含有一些额外的信息,因此这个类型的大小大于裸指针的大小,属于一种“胖”指针。从用途上看,它不仅可以作为一个媒介来访问它指向的数据,还能在这个过程中起到管理和控制的功能。
+- 智能指针不仅包含它指向区域的地址范围,还含有一些额外的信息。从用途上看,它不仅可以作为一个媒介来访问它指向的数据,还能在这个过程中起到管理和控制的功能。
84
85
在 Rust 中,与动态内存分配相关的智能指针主要有如下这些:
86
0 commit comments