我想知道C语言中是否使用了类型擦除技术。 在进行类型转换时,C中会发生什么?它是否使用类似于类型擦除和向下铸造的概念?
类型擦除和类型转换之间的主要区别是什么?
答案 0 :(得分:1)
您是Java开发人员吗?
如果是,你需要忘记很多事情,并学习另一个很多。
向下投射意味着继承。所以这不是C。
C几乎可以投射任何东西(C假设您知道自己在做什么,与Java,C#和其他人相反)
类型擦除是一个Java概念,因为JRE在运行时没有泛型,只有原始类型。
在C语言中,您在运行时只有二进制代码,就像在Assembly中一样,我们需要拥有闪电般快速的可执行文件(请记住,几乎所有编译器,框架或虚拟机都是用C语言构建的,或者C ++)。
在C中没有RTTI(运行时类型信息)这样的东西,我们不需要这个,因为C的目标是直接在金属上编程。