gpt4 book ai didi

c++ - 变体,C++中的存在多态性

转载 作者:行者123 更新时间:2023-11-30 04:28:48 25 4
gpt4 key购买 nike

我正在对类型系统进行研究。对于这项工作,我正在研究流行语言中变体、结构子类型、通用多态性和存在多态性的用法。像 heskell、ocaml 这样的功能性语言提供了这样的功能。但我想知道像 C++ 这样的流行语言是否提供上述功能。这意味着 C++ 是如何实现的

  1. 变体

  2. 结构子类型化

  3. 通用多态性

  4. 存在多态性。

最佳答案

  1. union 可以看作是变体的一种基本形式,但实际上,它们更像是一种覆盖内存(并且不安全)的原始机制。

  2. C++ 中没有结构类型,更不用说子类型了。所有类型都是名义上的。

  3. 模板与通用多态有一些表面上的相似之处,但实际上却大不相同。本质上,它们是美化的宏,几乎没有类型检查(与宏一样,检查和代码生成都发生在扩展之后)。

  4. C++ 中没有存在类型的形式(Java 中有一种有限的形式,即通配符)。

其中一些功能可以在某种程度上使用子类型进行模拟,但表现力(或方便性)仍然很差。

关于c++ - 变体,C++中的存在多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9834753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com