C++ 基本内置类型

C++ 语言定义了一套包括算数类型和空类型在内的基本数据类型。

1、算数类型:字符、整数、布尔值和浮点数。

2、空类型:不对应具体的值,用于一些特殊场合,如函数无返回值时使用void。


1.1->

算数类型存储大小随机器不同而不同,但C++规定了其最小尺寸,同时编译器可赋予其更大尺寸(如 VS2013 编译 int 4Byte),C++11规定见下表:


同时还规定int>=short,long>=int,long long>=long;

1.2 ->

除bool、扩展字符型(wchar_t,char16_t,char32_t)外,其他整型可分为带符号(singed)和不带符号(unsigned)两类,int、short、long和long long默认带符号。

字符型 char,unsigned char 和signed char虽然有三种,但实际表现只有两种形式,即带符号和不带符号。char 具体表现由编译器决定。

3.字面值常量:一个直接写出的值,字面值类型由他的符号和数值决定。

3.1->

整型:以0开头的数值表示8进制,如011(表示十进制9);0x或0X表示16进制,无前缀表示10进制。面值类型由其值的最大值决定,如10进制字面值会存储到int、     long和long long中最小一个(在可以表示的范围内),字面值 1 就是int 型,而不会是long 型,因为int 可以存的下。

3.2->

字符和字符串面值:‘a’ 是字符面值或char型字面值,"a"是字符串面值,字符串面值实际由字符面值数组构成,编译器会在此数组末尾加空字符(‘\0’)。

3.3->

布尔和指针字面值:true 和false是布尔字面值,由于非0为真,所以非0常量值也可当作布尔值给布尔变量赋值;nullptr是指针字面值。

3.4->

指定字面值类型:通过增加前后缀标识,可改变整型、浮点型和字符型面值默认类型。

3.4.1 字符和字符串 前缀: u表示Unicode16(如u'a'表示 16位的字符'a',之前8位用0补齐),U表示Unicode32,L表示宽字符,u8 表示UTF-8;

3.4.2 整型字面值后缀:u/U表示unsigned,l/L表示 long,ll/LL表示long long。

3.4.3 浮点字面值后缀:f/F表示float,l/L表示long double。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值