C语言中是否存在类型擦除概念?
Is type erasure concept exist in C-language?
我想知道 C 语言中是否使用了类型擦除技术。
当类型转换完成时,C 中会发生什么?它是否使用类似于类型擦除和向下转换的概念?
类型擦除和类型转换之间的主要区别是什么?
您是 Java 开发人员吗?
如果是的话,你需要忘记很多东西,然后再学很多东西。
向下转换意味着继承。所以这不是C.
C 几乎可以将任何东西转换为任何东西(C 假定您知道自己在做什么,这与 Java、C# 和其他语言相反)
类型擦除是一个 Java 概念,因为 JRE 在 运行 时没有泛型,只有原始类型。
在 C 中你只有 运行 时间的二进制代码,就像在汇编中一样,这就是我们需要拥有闪电般快速的可执行文件的全部(记住几乎所有编译器、框架或虚拟机都是内置的C 或 C++)。
在 C 中没有 RTTI(运行-时间类型信息)这样的东西,我们不需要它,因为 C 的目的是直接在金属上编程。
我想知道 C 语言中是否使用了类型擦除技术。 当类型转换完成时,C 中会发生什么?它是否使用类似于类型擦除和向下转换的概念?
类型擦除和类型转换之间的主要区别是什么?
您是 Java 开发人员吗?
如果是的话,你需要忘记很多东西,然后再学很多东西。
向下转换意味着继承。所以这不是C.
C 几乎可以将任何东西转换为任何东西(C 假定您知道自己在做什么,这与 Java、C# 和其他语言相反)
类型擦除是一个 Java 概念,因为 JRE 在 运行 时没有泛型,只有原始类型。
在 C 中你只有 运行 时间的二进制代码,就像在汇编中一样,这就是我们需要拥有闪电般快速的可执行文件的全部(记住几乎所有编译器、框架或虚拟机都是内置的C 或 C++)。
在 C 中没有 RTTI(运行-时间类型信息)这样的东西,我们不需要它,因为 C 的目的是直接在金属上编程。