📜  在 C++ 中打印变量的数据类型(1)

📅  最后修改于: 2023-12-03 15:37:18.599000             🧑  作者: Mango

在 C++ 中,我们可以使用 cout 和 typeid 来打印变量的数据类型。

使用 cout

使用 cout 打印变量的数据类型需要借助一个库,即 typeinfo。代码如下:

#include <iostream>
#include <typeinfo>
using namespace std;

int main() {
   int a = 10;
   cout << "a 的数据类型:" << typeid(a).name() << endl;

   double b = 3.14;
   cout << "b 的数据类型:" << typeid(b).name() << endl;

   return 0;
}

输出结果:

a 的数据类型:i
b 的数据类型:d

其中,typeid(variable).name() 可以获取变量的类型信息,并返回一个 const char* 类型的字符串,表示变量的类型名称。

使用 typeid

如果不想使用 cout,我们也可以直接使用 typeid 来获取变量的类型信息。代码如下:

#include <iostream>
#include <typeinfo>
using namespace std;

int main() {
   int a = 10;
   cout << typeid(a).name() << endl;

   double b = 3.14;
   cout << typeid(b).name() << endl;

   return 0;
}

输出结果:

i
d

与 cout 不同的是,typeid 只返回类型信息字符串,不会输出其他内容。

需要注意的是,typeid 返回的类型信息字符串是编译器自动生成的,可能会因编译器和操作系统而异。因此,不建议将 typeid 返回的字符串用于编程逻辑判断,而应该在程序调试阶段使用。