我正在阅读《Rust Book》,一切都很容易理解(感谢书的作者),直到涉及到lifetimes。我花了一整天的时间阅读了许多关于生命周期的文章,但仍然对正确使用它们非常不确定。
尽管如此,我理解的是,显式生命周期指定符的概念旨在解决悬空引用的问题。我也知道 Rust 有引用计数智能指针(
考虑到那些生命周期对我来说非常可怕,而智能指针对我来说非常熟悉和舒适(我在 C++ 中经常使用它们),我是否可以避免使用生命周期,转而使用智能指针?还是生命周期在 Rust 代码中是不可避免的东西,我必须理解和使用它们?
尽管如此,我理解的是,显式生命周期指定符的概念旨在解决悬空引用的问题。我也知道 Rust 有引用计数智能指针(
Rc
),我相信这与 C++ 中的 shared_ptr
相同,其目的是防止悬空引用。考虑到那些生命周期对我来说非常可怕,而智能指针对我来说非常熟悉和舒适(我在 C++ 中经常使用它们),我是否可以避免使用生命周期,转而使用智能指针?还是生命周期在 Rust 代码中是不可避免的东西,我必须理解和使用它们?