【发布时间】:2012-01-27 16:55:19
【问题描述】:
是否可以在整个代码的任何给定点检查变量的类型?
例如,我声明char y = 1;和功能int SomeFunction (int)。然后我将y 传递给someFunction,它将被转换为int,最终int 将被返回。
我知道这是因为函数声明。不过我想确认在someFunction 内部,变量实际上是int 类型,从someFunction 返回的变量也是int。
这可以在 C 中完成,还是应该依赖函数声明? C 编程语言是否提供任何机制来在运行时检查变量类型?
【问题讨论】:
-
someFunction内部的变量实际上是int,因为你这么说。 -
那么,C 编程语言没有提供在运行时检查变量类型的机制吗?
-
在 C 中,类型只存在于编译时。在运行时,它只是一堆移动的比特。
-
如果你关心 C++,(它可以被认为是 C 的超集),特别是微软 C++,并且对于对象类型,而不是原始数据类型,微软确实提供了 RTTI (运行时类型信息)。见en.wikipedia.org/wiki/Run-time_type_information
标签: c type-conversion