c++ - Scala 和 C++ traits 之间的关系是什么

标签 c++ scala

Traits 是 Scala 和 C++ 中使用的一个概念(尽管在 C++ 中它更像是一个习语,而不是一个集成到语言中的概念)。不过,这些概念之间的关系对我来说并不明显。 Scala 和 C++ traits 之间有什么关系?

最佳答案

他们根本没有关系。

在 C++ 中,traits 类是一个辅助对象,它告诉您有关类型的一些信息,这些信息您无法从类型名称本身获得。 C++ traits 实际上更类似于 Scala 的 def foo[A:Manifest] 表示法(一个我不知道正确名称的功能。)

Scala 的特性实际上更像 C++ 的多重继承(尽管它们在细节上有所不同)。我实际上相当对 C++ 版本的多重继承有正式名称“多重继承”(排除所有其他变体)感到失望,因为任何对 Scala 特性的解释的第一句话都应该是“特征是多重继承的一种形式......”

关于c++ - Scala 和 C++ traits 之间的关系是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5212122/

相关文章:

c++ - 给定这两个值的函数会产生第三个值?

c++ - 将 argv 类型转换为结构类型

xml - java.nio.charset.UnmappableCharacterException : Input length = 1

postgresql - spark 结构化流 PostgreSQL updatestatebykey

c++ - SDL 对渲染的怀疑

c++ - "handshake"通常是如何实现命名管道的

c++ - 如何在取消引用另一种类型后获得你得到的类型?

scala - java.io.IOException : No FileSystem for scheme : hdfs 异常

java - 具有逃逸分析的静态 Java 字节码优化器(如混淆器)?

scala - 在 Scala 中生成随机字符串/字母