typeid 运算符获取对象的静态类型信息,返回 type_info 对象,其中包含类型名、大小、对齐、基础类、修饰符等信息。可通过 name()、before()、base() 等方法访问对象信息。

C++ 中 typeid 的用法
typeid 运算符是一个 C++ 关键字,用于获取对象的静态类型信息。它返回一个 type_info 对象,该对象包含有关对象类型的各种信息。
用法:
typeid 运算符后面跟一个表达式,该表达式表示要获取其类型信息的表达式。表达式可以是:
变量表达式函数返回类型类型别名
语法:
typeid(expression) // 其中 expression 是要获取其类型信息的表达式
返回值:
typeid 运算符返回一个 type_info 对象,其中包含有关对象类型的以下信息:
类型名类型大小类型对齐类型派生信息类型基础信息类型 modifier 信息类型修饰信息
可以通过以下方法访问 type_info 对象中的信息:
name():返回类型名before() 和 after():从派生类中获取基础类和从基础类中获取派生类base():返回直接基础类grow() 和 shrink():修改类型名称中的数组大小modifier():返回类型修饰符
示例:
int main() { int x; std::string s; std::cout << typeid(x).name() << std::endl; // 输出:int std::cout << typeid(s).name() << std::endl; // 输出:std::__cxx11::basic_string return 0;}
注意事项:
typeid 运算符只能用于静态类型信息。它不能用于获取对象的运行时类型信息。typeid 运算符的结果可能因编译器和平台而异。typeid 运算符的开销很小,但频繁使用它可能会降低性能。
以上就是c++++中typeid的用法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1448956.html
微信扫一扫
支付宝扫一扫