C++的基本类型

1. 内置类型:c++的内置类型包含算术类型和空类型两种,而算术类型又包含字符、整形、布尔形和浮点数。C++并没有规定算术类型实际所占用的比特数,与C不同,存在char,wchar_t,char16_t,char32_t四种字符类型,char的空间确保可以存放机器基本字符集,而wchar_t则确保可以存放机器最大扩展字符集(这些字符集相关的概念尚不清楚),其余两者则用于unicode字符集有关。其余则是熟悉的bool,int,long,long long(c++11新增的),float,double,long double。

2.机器存储:可寻址的最小单元是字节,而存储的单位是字,一个字的大小通常是4/8字节。

3.符号:一般的算数类型都分为有符号和无符号类型,其中char则有三种,实际的char是什么取决于编译器实现。

4.使用:double一般是最快的,char不要用于计算。

5.类型转换:非布尔->布尔(0->false,其他->true),布尔->非布尔(false->0,true->1)。浮点->整形(截取小数部分),整数->浮点(小数部分取零)。

给无符号数一个超出范围的值,结果则是对表示类型总数取模后的余数,给有符号数一个超出范围的值,结果未定义。

算数类型自动转换的行为其实有可能带来代码逻辑出错(==写成=)。

当一个算术表达式同时存在有符号和无符号数时,会出现有符号数自动被转化为无符号数的现象。

6.字面值常量:字面值常量分为整形和浮点型,其中整形可以写成十进制、八进制(0开头)或者十六进制数(0x开头)。这三者有所不同,只有十进制是确定为带符号数(由符号和无符号数组成),其余两者则根据值范围不同是对应最小能表示的值。

浮点数存在小数和科学计数法表示的指数。

其余则是char字面值和字符串字面值(字符数组+空字符)。字符串字面值可以换行分开书写。

可以通过前缀和后缀来改变字面值的默认类型:

前缀:L宽字符值字面值,uUnicode16字符字面值,UUnicode32字符字面值,u8UTF-8字符串字面值,

后缀:u/U无符号,l/LLong,ll/LLLongLong,f/FFloat,lLLongFloat。

7.转义序列:转义序列是特殊的字符,这些字符或是因为在语言中有特殊含义,或是因为不可打印,需要通过转义才能使用。还有一种泛化的转义序列,这种转义序列的形式是\x后跟1~多位的十六进制数字,或是\后跟1~3个八进制数字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值