c - C语言中存在类型删除的概念吗?

标签 c types casting downcast erasure

我想知道 C 语言中是否使用了类型删除技术。 当类型转换完成后,C 中会发生什么?它是否使用类似于类型删除和向下转换的概念?

类型删除和类型转换之间的主要区别是什么?

最佳答案

您是 Java 开发人员吗?
如果是的话,你需要忘记很多东西并学习另外很多东西。

向下转换意味着继承。所以这不是 C。

C 几乎可以将任何内容转换为任何内容(C 假设您知道自己在做什么,这与 Java、C# 和其他语言相反)

类型删除是一个 Java 概念,因为 JRE 在运行时没有泛型,只有原始类型。

在 C 中,运行时只有二进制代码,就像在 Assembly 中一样,这就是我们拥有闪电般快速的可执行文件所需要的一切(请记住,几乎所有编译器、框架或虚拟机都是用 C 或 C++ 构建的)。

在 C 语言中,没有 RTTI(运行时类型信息)这样的东西,我们不需要它,因为 C 语言的目标是直接在硬件上进行编程。

关于c - C语言中存在类型删除的概念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40750385/

相关文章:

Scala:如何编写 sortBy 所采用的函数的类型?

c# - C# 中正确的可空类型检查?

java - Java 中的参数类型

Scala重写F有界多态中子类型的类型参数

将变量转换为它自己的类型

sql - 如何将 String 值转换(或强制转换)为 Integer 值?

c - 出现错误时安全退出到特定状态

c - 使用 for 循环内定义的变量

c - c - 如何在c中比fprintf更快地写入文本文件?

c - 数组游戏。为什么不更新打印?