我可以确定泛型类型的零值吗?

时间:2015-02-03 07:44:45

标签: rust

我设法找到的最近的是std::num::Intstd::num::Float特征,它们定义zero()。但是,它们特定于原始类型。

1 个答案:

答案 0 :(得分:5)

不,因为它一般没有意义。事实上,有几种类型,其中"零"是非常具体 有效。例如,如果您要采用适当大小的零值并将其转换为Box,则会违反内存安全性!

可以替代"零",这是Default特征。它允许您说Default::default()来获取类型"默认"价值,无论发生什么。但是,对于"默认"没有一致,合理的定义。适用于所有类型。因此,您只能将其用于显式实现它的类型。