|
|
@ -236,7 +236,7 @@ fn first_word<'a>(s: &'a str) -> &'a str {
|
|
|
|
|
|
|
|
|
|
|
|
被编码进 Rust 引用分析的模式被称为 **生命周期省略规则**(*lifetime elision rules*)。这并不是需要程序员遵守的规则;这些规则是一系列特定的场景,此时编译器会考虑,如果代码符合这些场景,就无需明确指定生命周期。
|
|
|
|
被编码进 Rust 引用分析的模式被称为 **生命周期省略规则**(*lifetime elision rules*)。这并不是需要程序员遵守的规则;这些规则是一系列特定的场景,此时编译器会考虑,如果代码符合这些场景,就无需明确指定生命周期。
|
|
|
|
|
|
|
|
|
|
|
|
省略规则并不提供完整的推断:如果 Rust 在明确遵守这些规则的前提下变量的生命周期仍然是模棱两可的话,它不会猜测剩余引用的生命周期应该是什么。不用于猜测,编译器在可以通过增加生命周期注解解决的地方会给出一个错误。
|
|
|
|
省略规则并不提供完整的推断:如果 Rust 在明确遵守这些规则的前提下变量的生命周期仍然是模棱两可的话,它不会猜测剩余引用的生命周期应该是什么。编译器会在可以通过增加生命周期注解来解决错误问题的地方给出一个错误提示,而不是进行推断或猜测。
|
|
|
|
|
|
|
|
|
|
|
|
函数或方法的参数的生命周期被称为 **输入生命周期**(*input lifetimes*),而返回值的生命周期被称为 **输出生命周期**(*output lifetimes*)。
|
|
|
|
函数或方法的参数的生命周期被称为 **输入生命周期**(*input lifetimes*),而返回值的生命周期被称为 **输出生命周期**(*output lifetimes*)。
|
|
|
|
|
|
|
|
|
|
|
|