标签:typeid false 类型信息 char 获取 true
获取类型信息 typeid
typeid运算符用来获取一个表达式的类型信息.
- 对于基本类型数据, 类型信息比较简单, 主要指数据的类型;
- 对于对象(类类型的数据), 类型信息指: 对象所属的类, 所包含的成员, 所在的继承关系.
类型信息是创建数据的模板,数据占用多大内存、能进行什么样的操作、该如何操作等,这些都由它的类型信息决定。
typeid(DataType);
typeid(expression);
typeid 会把获取到的类型信息保存到一个 type_info 类型的对象里面,并返回该对象的常引用;当需要具体的类型信息时,可以通过成员函数来提取。
可以发现,不像 Java、C# 等动态性较强的语言,C++ 能获取到的类型信息非常有限,也没有统一的标准,如同“鸡肋”一般,大部分情况下我们只是使用重载过的“==”运算符来判断两个类型是否相同。
比较如下typeid是否相等:
typeid(x)==typeid(y) | int | char | char* | str | a | b | f | a/b |
---|---|---|---|---|---|---|---|---|
int | true | |||||||
char | false | |||||||
char* | false | |||||||
str | true | |||||||
a | true | true | ||||||
b | true | true | ||||||
f | false | |||||||
a/b | true |
标签:typeid,false,类型信息,char,获取,true 来源: https://www.cnblogs.com/gaiqingfeng/p/16463249.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。