From ddbe1105d2702f4208cacb2148c06b44a44277ab Mon Sep 17 00:00:00 2001 From: zongzi531 Date: Thu, 3 Mar 2022 13:35:35 +0800 Subject: [PATCH] Fix typo in smart-pointer/box.md --- src/advance/smart-pointer/box.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/advance/smart-pointer/box.md b/src/advance/smart-pointer/box.md index 1f863754..71925bc5 100644 --- a/src/advance/smart-pointer/box.md +++ b/src/advance/smart-pointer/box.md @@ -183,6 +183,7 @@ fn main() { 那如果数组中每个元素都是一个 `Box` 对象呢?来看看 `Vec>` 的内存布局: ```rust + (heap) (stack) (heap) ┌───┐ ┌──────┐ ┌───┐ ┌─→│ 1 │ │ vec2 │──→│B1 │─┘ └───┘ @@ -234,7 +235,7 @@ fn gen_static_str() -> &'static str{ } ``` -在之前的代码中,如果 `String` 创建于函数中,那么返回它的唯一方法就是转移所有权给调用者 `fn move_str() -> String`,而通过 `Box::leak` 我们不仅返回了一个 `&str` 字符串切片,它还是 `'static` 类型的! +在之前的代码中,如果 `String` 创建于函数中,那么返回它的唯一方法就是转移所有权给调用者 `fn move_str() -> String`,而通过 `Box::leak` 我们不仅返回了一个 `&str` 字符串切片,它还是 `'static` 生命周期的! 要知道真正具有 `'static` 生命周期的往往都是编译期就创建的值,例如 `let v = "hello, world"`,这里 `v` 是直接打包到二进制可执行文件中的,因此该字符串具有 `'static` 生命周期,再比如 `const` 常量。