【发布时间】:2021-09-14 13:06:46
【问题描述】:
我在探索 Rust 时遇到了这个术语。
我看到了关于这个的不同类型的解释,但仍然不太明白。
在The Embedded Rust Book中,它说
类型状态也是零成本抽象的一个很好的例子
- 将某些行为移动到编译时执行或分析的能力。
这些类型状态不包含实际数据,而是用作 标记。
由于它们不包含数据,因此它们在 运行时内存:
这是否意味着运行时更快,因为运行时没有内存?
如果有人能以通俗易懂的方式解释它,不胜感激。
【问题讨论】:
-
零成本抽象不会使任何事情变得更快,而是它们(希望)使运行时完全相同就像您编写较低级别的未抽象版本一样(通常以牺牲为代价)编译时间)。这个想法通常是添加一个便利抽象层,但不会产生任何运行时损失。
标签: rust