c++中typeid的用法

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

c++中typeid的用法

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的用法的详细内容,更多请关注小编网其它相关文章!

转载请说明出处 内容投诉内容投诉
南趣百科 » c++中typeid的用法

南趣百科分享生活经验知识,是您实用的生活科普指南。

查看演示 官网购买