为什么size_of :: <&T>()== size_of :: <usize>()取决于T是否大小?

Sil*_*eak 3 rust

文档size_of如下:

如果T是大小,则所有这些类型[指针类型&T]等具有相同的大小usize.

为什么那个资格赛?无论指向哪种类型的属性,指针都不具有确定的大小?

Ben*_*ley 5

除了指向对象的指针之外,Unsized对象引用还有额外的数据.在切片引用(&[T])的情况下,它们包含大小以指示此切片的长度.在引用特征(特征对象)的情况下,它们包含指向vtable的指针,以便启用动态分派.