Skip to content

Commit 891594c

Browse files
author
wayslog
committed
fixed typeo of heap and stack
1 parent fb522e2 commit 891594c

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

heap-stack/heap-stack.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,6 @@ Vec<Box<i32>>
106106

107107
一些语言里会有看起来既像数组又像列表的数据结构,例如 python 中的 List,其实就是与 `Vec<Box<i32>>` 类似,只是把 i32 换成任意类型,就操作效率而言比单纯的 List 高效,同时又比数组使用更灵活。
108108

109-
一般而言大小在编译时不能确定的数据类型都需要使用堆上内存,因为编译器无法为其在栈上分配不固定大小的内存空间,例如 String, Vec,另外需要从函数中返回一个浅拷贝的变量时也需要使用堆内存而不能直接返回一个指向函数内部定义变量的引用。
109+
一般而言,在编译期间不能确定大小的数据类型都需要使用堆上内存,因为编译器无法在栈上分配 编译期未知大小 的内存,所以诸如 String, Vec 这些类型的内存其实是被分配在堆上的。换句话说,我们可以很轻松的将一个 Vec move 出作用域而不必担心消耗,因为数据实际上不会被复制。
110+
111+
另外,需要从函数中返回一个浅拷贝的变量时也需要使用堆内存而不能直接返回一个指向函数内部定义变量的引用。

0 commit comments

Comments
 (0)