C++中输出变量类型的方法

在c++中输出变量或者数据类型,使用typeid().name()的方法。如下例子:

#include <iostream>
#include <string>
using namespace std; class C{}; int main(int argc, char const *argv[])
{
char c = 'a';
int i = 7;
int *ii = &i;
long l = 5;
float f = 3.14;
double d = 3.1415;
string str = "HelloWorld";
C cl = C();
cout << typeid(c).name() << endl;
cout << typeid(i).name() << endl;
cout << typeid(ii).name() << endl;
cout << typeid(l).name() << endl;
cout << typeid(f).name() << endl;
cout << typeid(d).name() << endl;
cout << typeid(str).name() << endl;
cout << typeid(str[1]).name() << endl;
cout << typeid(cl).name() << endl;
return 0;
}

输出结果为:

c
i
Pi
l
f
d
NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
c
1C

这个结果并不像别的文章展示的char、int、long等等的这样将类型全称打出。简单类型只打印出开头首字母,而指针类型显示的是Pi即Pointer的缩写,string则是一长串字符串。而自己定义的类的对象则是打印出类名。

C++中输出变量类型的方法的更多相关文章

  1. 时间、金钱在java、数据库中的变量类型之总结

    在编写程序时,总是有些变量的类型搞不很明白,现将目前涉及到的变量总结一下: 1.“时间”类型 (1).在数据库中的变量类型是:DateTime 比如: operateTime DATETIME,//数 ...

  2. JS 中对变量类型的五种判断方法

    5种基本数据类型:undefined.null.boolean.unmber.string 复杂数据类型:object. object:array.function.date等 方法一:使用typeo ...

  3. JavaScript中判断变量类型最简洁的实现方法以及自动类型转换(#################################)

    这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了type ...

  4. javascript中对变量类型的推断

    本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据 ...

  5. JS 中对变量类型判断的几种方式

    文章整理搬运,出处不详,如有侵犯,请联系~   数据类型判断和数据类型转换代码工具 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boo ...

  6. JS 中对变量类型的判断

    总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toStri ...

  7. javascript中对变量类型的判断

    本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据 ...

  8. js中的变量类型

    js 中输出定义变量的类型  typeof  变量名. var u:  --underfined类型 var s = "你是一个好人":   --string类型 var n = ...

  9. Programming In Scala笔记-第五章、Scala中的变量类型和操作

    这一章的一些基础性的东西,主要包括Scala中的基本变量类型,以及相关的一些操作符. 一.简单类型 下表中列出Scala语言中的基本类型,以及其字节长度,其中Byte, Short, Int, Lon ...

随机推荐

  1. ElasticSearch 史上最全文章

    老规矩,本篇文章 不做 ElasticSearch 的 编码讲解 ,只介绍 文章学习的一些优秀文章 重点在于不要循规蹈矩,教程 这样走,你不一定要按他这样走,按自己的方式来,学习效率会更高,网上的教程 ...

  2. Linux课程知识点总结(一)

    Linux课程知识点总结(一) 一.Linux系统的简介 1.1 什么是Linux Linux是一个免费的多用户.多任务的操作系统,其运行方式.功能和Unix系统很相似,但Linux系统的稳定性.安全 ...

  3. ASP.NET Core 3.1使用log4net/nlog/Serilog记录日志

    Serilog中的结构化日志支持非常好,而且配置简便.我能够比其他任何人更轻松地启动和运行Seirlog.Serilog中的日志可以发送到很多目的地.Serilog称这些东西为"接收器&qu ...

  4. python初学者-计算1-99奇数的和

    s = 0 for i in range(1,100,2): s = s + i print(s)

  5. Tensorflow2.0-mnist手写数字识别示例

    Tensorflow2.0-mnist手写数字识别示例   读书不觉春已深,一寸光阴一寸金. 简介:通过CNN 卷积神经网络训练后识别出手写图片,测试图片mnist数据集中的0.1.2.4.     ...

  6. 实体类转json 和 json转实体类

    1.new JSONObject().toJSONString(rootEntity) JSONObject.toJSONString(specPrices)//specPrices实体类   2. ...

  7. ESP8266系列图片外观 Wi-Fi模块一共有01~14十多款模块

  8. canvas--总结二

    canvas图形绘制 矩形绘制 rect(x,y,w,h)  没有独立路径 strokeRect(x,y,w,h) 有独立路径,不影响别的绘制 fillRect(x,y,w,h) 有独立路径,不影响别 ...

  9. 30天自制操作系统-day2

    30天自制操作系统(linux)-day2 使用简单的汇编语言 首先Centos环境安装nasm,使用vim工具编辑一个os.asm文件,文件内容如下: DB 0xeb, 0x4e, 0x90, 0x ...

  10. 使用Modbus4J进行RTU模式串口通信

    Modus协议是由MODICON(现为施耐德电气公司的一个品牌)在1979年开发的,是全球第一个真正用于工业现场的总线协议,应用非常广泛,可谓大名鼎鼎. 理论性的东西就不多介绍了,推荐一本书<M ...