相关疑难解决方法(0)

为什么通用生命周期不符合嵌套范围的较小生命周期?

根据Rust编程语言:

由于示波器总是窝,另一种说法.这是一个通用的寿命'a将得到具体的寿命相等的寿命的小xy.

fn main() {
    let x = "abcd";
    let result;
    {
        let y = "qwerty";
        result = longest(x, y);
    }
    println!("The longest string is {}  ", result);

}

fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    if x.len() > y.len() {
        x
    } else {
        y
    }
}
Run Code Online (Sandbox Code Playgroud)

在main函数中,"x和y的生命周期中较小的"是嵌套范围.这也应该是值的生命周期result,但结果包含来自该嵌套范围外部的正确值.

为什么这段代码正常工作?

scope lifetime rust

9
推荐指数
1
解决办法
90
查看次数

标签 统计

lifetime ×1

rust ×1

scope ×1