类型别名和元组结构之间有什么区别?

时间:2017-12-18 16:32:05

标签: struct types rust

之间有什么区别
type CMoves = Vec<Move>;

struct CMoves(Vec<Move>);

我知道我可以用第二个来实现特征,但我不能用第一个特征,因为Vec是在我的箱子之外定义的。是否存在其他差异,例如内存表示?

1 个答案:

答案 0 :(得分:1)

类型别名就是别名。纯句法糖,与语义无关。对于所有意图和目的,您可以将所有别名替换为别名。

另一方面,元组结构是一个完全独立的类型,所有这些都需要:

  • 你定义了它的不变量,
  • 您可以定义它实现的功能,
  • 你定义它实现了哪些特征。

因此,两者并不相同。