21xrx.com
2024-09-20 05:30:54 Friday
登录
文章检索 我的文章 写文章
C++如何打印变量类型
2023-07-03 18:43:41 深夜i     --     --
C++ 打印 变量类型

C++是一种常用的编程语言,它包含了丰富的语法和功能。当你在使用C++编写程序时,可能会遇到需要打印变量类型的情况。这时,你可以使用C++的一些函数来实现。

首先,我们需要了解C++中的数据类型。C++支持基本的数据类型,如整型、浮点型、字符型、布尔型等,还支持复合数据类型,如数组、结构体、类等。

接下来,我们来介绍如何打印变量的数据类型。C++中可以使用typeid关键字来获取变量的数据类型,使用方法如下:


#include <iostream>

#include <typeinfo>

using namespace std;

int main() {

  int i = 10;

  char c = 'a';

  float f = 3.14f;

  double d = 3.1415926;

  bool b = true;

  cout << "i的类型是:" << typeid(i).name() << endl;

  cout << "c的类型是:" << typeid(c).name() << endl;

  cout << "f的类型是:" << typeid(f).name() << endl;

  cout << "d的类型是:" << typeid(d).name() << endl;

  cout << "b的类型是:" << typeid(b).name() << endl;

  return 0;

}

运行该程序,输出结果为:


i的类型是:i

c的类型是:c

f的类型是:f

d的类型是:d

b的类型是:b

可以看到,typeid返回的结果是一个字符串,表示变量的数据类型。其中,i表示整型,c表示字符型,f表示单精度浮点型,d表示双精度浮点型,b表示布尔型。需要注意的是,不同的编译器可能会有差异,返回的字符串可能不完全相同。因此,在使用typeid时需要谨慎。

另外,C++11标准引入了decltype关键字,可以用于获取变量的类型,使用方法与typeid类似。例如:


#include <iostream>

#include <typeinfo>

using namespace std;

int main() {

  int i = 10;

  int *p = &i;

  cout << "i的类型是:" << typeid(i).name() << endl;

  cout << "p的类型是:" << typeid(decltype(p)).name() << endl;

  cout << "*p的类型是:" << typeid(decltype(*p)).name() << endl;

  return 0;

}

运行该程序,输出结果为:


i的类型是:i

p的类型是:Pi

*p的类型是:i

通过以上介绍,我们可以看到C++中获取变量类型的方法。有了这些知识,我们就能更好地理解和编写程序了。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复