类型别名和元组结构之间有什么区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类型别名和元组结构之间有什么区别?相关的知识,希望对你有一定的参考价值。
有什么区别
type CMoves = Vec<Move>;
和
struct CMoves(Vec<Move>);
我知道我可以用第二个实现特征,但我不能用第一个特征,因为Vec
是在我的箱子之外定义的。还有其他差异,例如内存表示吗?
答案
类型别名就是别名。纯语法糖,与语义无关。对于所有意图和目的,您可以将所有别名替换为别名。
另一方面,元组结构是一个完全独立的类型,所有这些都需要:
- 你定义它的不变量,
- 你定义它实现了哪些功能,
- 你定义它实现了哪些特征。
因此,这两者并不相同。
以上是关于类型别名和元组结构之间有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章