
Rust
文章平均质量分 93
Uncomfortableskiy
The Average Joe
展开
-
Rust 强制类型转换和动态指针类型的转换
Rust 的强制类型转换与 Java/C++ 的子类到父类转换有一定相似性,但它并不依赖于继承Java/C++ 中基于继承的子类到父类转换是语言设计的一部分,通常是隐式的。Rust 没有继承,通过实现Deref或使用特征对象显式地进行类型转换。动态分发的场景在 Java/C++ 中,子类到父类的转换支持动态分发,调用子类重写的方法。在 Rust 中,特征对象(dyn Trait)可以实现动态分发,但需要显式转换。静态绑定与类型安全Rust 更偏向于静态绑定和类型安全,避免运行时的类型错误。原创 2025-01-16 16:28:12 · 1248 阅读 · 0 评论 -
Rust 零大小类型(ZST)
println!println!println!false将&INSTANCE优点:静态值的生命周期是'static,可以安全返回引用。缺点:静态值是固定的,无法动态变化。为什么&Parent是静态值因为Parent是一个零大小类型(ZST),它可以被优化为静态全局常量,生命周期是'static。为什么不是静态值因为是一个临时值,它的生命周期只存在于当前作用域中,无法返回指向它的引用。如何解决使用静态值(static)、将值存储在结构体中,或者使用智能指针管理其生命周期。原创 2025-01-16 16:23:32 · 1083 阅读 · 0 评论