Merge pull request #961 from cxz888/main

Typo: sized.md
pull/962/head
Sunface 2 years ago committed by GitHub
commit 3d56ff145b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -88,7 +88,7 @@ fn generic<T: Sized>(t: T) {
}
```
在上面Rust 自动添加的特征约束 `T: Sized`,表示泛型函数只能用于一切实现了 `Sized` 特征的类型上,而**所有在编译时就能知道其大小的类型,都会自动实现 `Sized` 特征**,例如。。。。也没啥好例如的,你能想到的几乎类型都实现了 `Sized` 特征,除了上面那个坑坑的 `str`,哦,还有特征。
在上面Rust 自动添加的特征约束 `T: Sized`,表示泛型函数只能用于一切实现了 `Sized` 特征的类型上,而**所有在编译时就能知道其大小的类型,都会自动实现 `Sized` 特征**,例如。。。。也没啥好例如的,你能想到的几乎所有类型都实现了 `Sized` 特征,除了上面那个坑坑的 `str`,哦,还有特征。
**每一个特征都是一个可以通过名称来引用的动态大小类型**。因此如果想把特征作为具体的类型来传递给函数,你必须将其转换成一个特征对象:诸如 `&dyn Trait` 或者 `Box<dyn Trait>` (还有 `Rc<dyn Trait>`)这些引用类型。

Loading…
Cancel
Save