typeid 运算符获取对象的静态类型信息,返回 type_info 对象,其中包含类型名、大小、对齐、基础类、修饰符等信息。可通过 name()、before()、base() 等方法访问对象信息。
C++ 中 typeid 的用法
typeid 运算符是一个 C++ 关键字,用于获取对象的静态类型信息。它返回一个 type_info 对象,该对象包含有关对象类型的各种信息。
用法:
typeid 运算符后面跟一个表达式,该表达式表示要获取其类型信息的表达式。表达式可以是:
- 变量
- 表达式
- 函数返回类型
- 类型别名
语法:
<code class="cpp">typeid(expression) // 其中 expression 是要获取其类型信息的表达式</code>
登录后复制
返回值:
typeid 运算符返回一个 type_info 对象,其中包含有关对象类型的以下信息:
- 类型名
- 类型大小
- 类型对齐
- 类型派生信息
- 类型基础信息
- 类型 modifier 信息
- 类型修饰信息
可以通过以下方法访问 type_info 对象中的信息:
- name():返回类型名
- before() 和 after():从派生类中获取基础类和从基础类中获取派生类
- base():返回直接基础类
- grow() 和 shrink():修改类型名称中的数组大小
- modifier():返回类型修饰符
示例:
<code class="cpp">int main() { int x; std::string s; std::cout return 0; }</code>
登录后复制
注意事项:
- typeid 运算符只能用于静态类型信息。它不能用于获取对象的运行时类型信息。
- typeid 运算符的结果可能因编译器和平台而异。
- typeid 运算符的开销很小,但频繁使用它可能会降低性能。
以上就是c++++中typeid的用法的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:pansz,转转请注明出处:https://www.dingdanghao.com/article/431122.html