您的位置:首页 > 编程语言 > C语言/C++

C++ 基本内置类型

2017-03-21 16:19 295 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 基本数据类型