C++中运用typeinfo库查看变量类型

文章探讨了在学习C++字符串类型string时遇到的string::type_size变量,强调了无符号整型和有符号整型在转换时可能产生的问题。通过使用typeinfo库的typeid().name()函数,作者展示了如何查看变量的类型,以确保正确的类型转换和避免潜在的逻辑错误。
摘要由CSDN通过智能技术生成

学习string时,对于string中定义的string::type_size变量很感兴趣。得知它是一个无符号整形变量。我们知道一个无符号数如果被当做有符号数可能会造成代码逻辑上的灾难。因为在计算机中,有符号数实际上通过符号位来实现,而无符号类型没有符号位。因此如果按照无符号数规则去读取一个有符号负数,那么计算机会认为它其实是一个很大的无符号正数。

	int num = -10;
	std::cout << (unsigned int) num << std::endl;

因此能查看变量的类型在某些时候很重要。今天我就介绍一种方法,运用typeinfo库的typeid().name()函数

#include<iostream>
#include<string>
#include<typeinfo>
#include<cctype>

int main(void)
{

	std::string s = "hello";
	std::cout << typeid(s.size()).name()  << std::endl;		

	std::string::size_type a = 11;
	std::cout << typeid(s.size()).name() << std::endl;			   //unsigned __int64

    std::cin.get();
}

得到的结果在上一张图中展示了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值