- 博客(5)
- 收藏
- 关注
原创 生命周期:生命周期与泛型的组合使用
\*\*结论译失败!1. \*\*\`fn\<'a, T:it>(item: &'a T)`(组合 1:借用泛型)** * **作用**:这是我们的“\*\*马**”。2. \*\*\`struct\<'a, T: 'a... }`(组合 2:约束泛型)** * **作用**:这是我们的“**安全卫士**”。当一个“长生命周期”的结构体(`'a`)试图“持有”一个“泛型类型”(`T`)时,\`T 'a` 约束确保了 `T` 不会“窝藏”一个“短命”的引用,从而在编译期根除了“悬垂引用”漏洞。
2025-10-30 20:02:44
895
原创 生命周期:生命周期子类型(Lifetime Subtyping)
生命周期子类型化是 Rust 借用系统得以实用化的基石,但它也是一把需要被严格控制的“双刃剑”。协变 (Covariance)&'a T和&'a mut T。**规则:“长”是“短”的子类型('a: 'b=>作用:提供了“人机工程学”。它允许编译器自动“缩短”引用的生命周期,以满足函数调用的“契约”,让 99% 的代码“理所当然”地工作。不变 (Invariance):`&mut T在T上是不变的。规则&mut &'a T和&mut &'b T**互*为子类型。作用:提供了“终极安全”。
2025-10-30 19:52:17
886
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅