DST
DST(dynamically sized types) 指动态类型。编译器无法在编译期得知该类型值的大小,只有到程序运行时,才能动态获知。
常见的 DST 类型:
- str
- [T] 切片
- dyn Trait
DST 类型因为无法确定大小,无法办法直接在栈上存储,必须要通过引用或者[[Rust/Box|Box]]
来间接使用。
在泛型中使用动态数据类型
fn generic<T: ?Sized>(t: &T) {
// --snip--
}
此时参数就必须是引用类型了。
Search