From 4e1ded8c6b7baa38fe0d98ceb99e0d09d560bfe9 Mon Sep 17 00:00:00 2001 From: zouzanyan <68853552+zouzanyan@users.noreply.github.com> Date: Thu, 14 Mar 2024 16:22:26 +0800 Subject: [PATCH 1/2] Update ownership.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 存储在二进制中的字符串,把二进制改为栈是不是会更通顺一点 --- src/basic/ownership/ownership.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/ownership/ownership.md b/src/basic/ownership/ownership.md index f9368fd2..26b86133 100644 --- a/src/basic/ownership/ownership.md +++ b/src/basic/ownership/ownership.md @@ -224,7 +224,7 @@ fn main() { 这段代码,大家觉得会否报错?如果参考之前的 `String` 所有权转移的例子,那这段代码也应该报错才是,但是实际上呢? -这段代码和之前的 `String` 有一个本质上的区别:在 `String` 的例子中 `s1` 持有了通过`String::from("hello")` 创建的值的所有权,而这个例子中,`x` 只是引用了存储在二进制中的字符串 `"hello, world"`,并没有持有所有权。 +这段代码和之前的 `String` 有一个本质上的区别:在 `String` 的例子中 `s1` 持有了通过`String::from("hello")` 创建的值的所有权,而这个例子中,`x` 只是引用了存储在栈中的字符串 `"hello, world"`,并没有持有所有权。 因此 `let y = x` 中,仅仅是对该引用进行了拷贝,此时 `y` 和 `x` 都引用了同一个字符串。**如果还不理解也没关系,当学习了下一章节 "引用与借用" 后,大家自然而言就会理解。** From 658584068053fb775f88b0aa647d015e06bb5245 Mon Sep 17 00:00:00 2001 From: Sunface Date: Sat, 16 Mar 2024 09:17:50 +0800 Subject: [PATCH 2/2] Update src/basic/ownership/ownership.md --- src/basic/ownership/ownership.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/ownership/ownership.md b/src/basic/ownership/ownership.md index 26b86133..990f34be 100644 --- a/src/basic/ownership/ownership.md +++ b/src/basic/ownership/ownership.md @@ -224,7 +224,7 @@ fn main() { 这段代码,大家觉得会否报错?如果参考之前的 `String` 所有权转移的例子,那这段代码也应该报错才是,但是实际上呢? -这段代码和之前的 `String` 有一个本质上的区别:在 `String` 的例子中 `s1` 持有了通过`String::from("hello")` 创建的值的所有权,而这个例子中,`x` 只是引用了存储在栈中的字符串 `"hello, world"`,并没有持有所有权。 +这段代码和之前的 `String` 有一个本质上的区别:在 `String` 的例子中 `s1` 持有了通过`String::from("hello")` 创建的值的所有权,而这个例子中,`x` 只是引用了存储在二进制可执行文件( binary )中的字符串 `"hello, world"`,并没有持有所有权。 因此 `let y = x` 中,仅仅是对该引用进行了拷贝,此时 `y` 和 `x` 都引用了同一个字符串。**如果还不理解也没关系,当学习了下一章节 "引用与借用" 后,大家自然而言就会理解。**