【Rust Course】读书笔记-函数生命周期

15 阅读1分钟

提问

什么是悬垂引用,如何避免

回答

当变量提前释放,后续又有使用时就会造成悬垂引用; 造成原因:在{}结束后其中变量会被释放; 如何避免:使用生命周期生命a`。 在编译阶段规避

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