Sized 与 ?Sized
实现了 Sized
trait 的类型, 在编译期可以确定内存大小.
Sized
trait 是默认实现的.
struct S<T> { }
这种写法等同于:
struct S<T: Sized> { }
以下写法就表示类型 T
不一定必须是 Sized
trait, 所以 ?Sized
也被称为 Unsized
trait:
struct S<T: ?Sized> { }
实现了 Sized
trait 的类型, 在编译期可以确定内存大小.
Sized
trait 是默认实现的.
struct S<T> { }
这种写法等同于:
struct S<T: Sized> { }
以下写法就表示类型 T
不一定必须是 Sized
trait, 所以 ?Sized
也被称为 Unsized
trait:
struct S<T: ?Sized> { }