From bafb43678193eddba9acfdf2e79a5e9cd2a617da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Wed, 16 Mar 2022 13:11:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=AD=A3=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E7=B4=A2=E5=BC=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_posts/rust-ownership.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_posts/rust-ownership.md b/source/_posts/rust-ownership.md index e5cb5c7..b10fad2 100644 --- a/source/_posts/rust-ownership.md +++ b/source/_posts/rust-ownership.md @@ -281,7 +281,7 @@ Rust允许对借用其他引用,而且在部分操作中,Rust可以自行推 这样一来,引用`r`的生命期就被包含在其借用的变量`x`的生命期中了,也就同时满足了上面的两条规定。 -#### 生命期参数 +### 生命期参数 当把一个引用传给函数的时候,情况会变得更加的复杂。例如在以下示例中出现的在其他寓言中常用的全局变量的例子,在Rust中就无法通过编译。 @@ -321,7 +321,7 @@ fn f(p: &'static i32) { !!! caution "" 需要注意的是,在上面这个最后可以通过编译的示例中,如果把一个非`'static`生命期的引用传给函数`f`,那么Rust同样会拒绝编译,因为任意生命期的引用不能满足要求`'static`生命期参数的函数`f`的胃口。 -#### 返回一个引用 +### 返回一个引用 在所有的编程语言中,都存在在函数中直接返回对某一数据结构中某一部分内容的引用。比如在以下示例中,函数返回了一个切片中最大值的引用。 @@ -350,7 +350,7 @@ fn largest<'a>(arr: &'a [i32]) -> &'a i32 { !!! info "" 如果一个函数没有返回任何引用,那么就无需写出函数的生命期参数。 -#### 在结构体中使用引用 +### 在结构体中使用引用 Rust对于引用的约束不会因为引用被用在了结构体中而失效,当引用类型出现在结构体或者其他类型的定义中时,Rust要求必须写出其生命期。例如以下这样的定义。