Rust所有权及引用 (4)

这里出现了关于生命周期的概念: 程序中每一个变量都有对应的作用域, 当超出作用域之后变量就会被自动销毁 一句话说就是一个变量在创建 到 被释放的过程, 称之为生命周期.

不过即使不了解生命周期仅仅了解引用 就可以理解悬垂指针。

解决上述代码的方法:将String返回 而不是&String

fn overhang(mut s: String) -> &String { // s.push_str("123"); // 修改String s // 返回String 的引用 }

这样就没有任何问题了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgdyf.html