> 在 API 设计或……中,必须使用对象作为类型的变体类型并不常见。
> 在我使用移动和系统编程(例如 Linux)的经验中,必须使用对象作为类型的变体类型并不常见。你不能使用没有的东西,所以你只能适应你已有的工具。在我使用 C++ 的时候,团队经常编写在逻辑上包含多个变体的类型。然而它们被表示为产品类型,因此有空间开销,并且使用起来容易出错,不便于操作。和类型是改变游戏规则的。看看任何 Rust 项目,你会发现到处都是带有数据的枚举。它们只是建模问题的构建块,就像产品类型一样。一种缺少它们的语言对我来说就像一种没有产品类型的语言一样奇怪。在经历了10年主要使用 C++11 和 C++14 后,仅凭这一点,我再也不想回到 C++ 了(尽管如文章中所述,还有其他原因)。> 错误类型可能是这种类型最流行的变体。已经有几个库可用,它们将成为 C++ 标准的一部分。再次强调,性能和易用性如何?
源讨论从 C++ 转到 Rust原帖 275 条评论 · 导入时统计