主题:高手指点,如何判断数据类型(float,int,char.....)
syq00004444
[专家分:0] 发布于 2006-06-26 22:14:00
高手指点,如何判断数据类型(float,int,char.....)
回复列表 (共2个回复)
沙发
URCLLC [专家分:1080] 发布于 2006-06-29 12:51:00
比较正规的是:针对Windows下的C++(bcb/vc++),对TC++不支持;也支持随意的类型/别名(别名时显示原名)
#include <typeinfo.h>
......
int/long/float/struct{...}/class{...}/... var; //声明一个变量,类型随意(包括自定义类型,typedef的类型别名)
const typeinfo &info = typeid(var); //得到变量的类型信息
printf("%s",info.name());
板凳
URCLLC [专家分:1080] 发布于 2006-06-29 13:10:00
这也是我在书上看到的.以前未知道这种方法前,我有一个怪招来对付这种问题——Overload,你应该知道是什么意思了,连TC++也可以进行类型判断了.恐怕你找遍整个Internet都没几个人想到用这招.
不过这种方法必须考虑所有可能用到的类型(也支持自定义的),即在编程时就要把所有以后可能要判断的变量类型写进来.
呵呵,看好了就给点分来.我的解题方法有时就是出人意料[em11]
我来回复