###C++基本内置类型#函数
C++基本内置类型有算数类型和空类型,其中算数类型包括了整数型和浮点型,字符、整数型、布尔值属于整数型,浮点数属于浮点型。空类型不对应具体的值而只对应于一块内存。code
算数类型:内存
类型 含义 最小尺寸 bool 布尔类型 未定义 char 字符 8位 wchar_t 宽字符 16位 char16_t Unicode字符 16位 char32_t Unicode字符 32位 short 短整形 16位 int 整型 16位 long 长整形 32位 long long 长整形 64位 float 单精度浮点数 6位有效数字 double 双精度浮点数 10位有效数字 long double 扩展精度浮点数 10位有效数字
其中最小尺寸是指C++标准规定的尺寸的最小值,同时容许编译器赋予它更大的尺寸。utf-8
除去布尔型和扩展型,其它的整型能够分为带符号和无符号的,其中无符号的在类型名前加unsigned, 字符型分为char、signed char、unsigned char三种,char会表现为signed char或者是unsigned char中的一种,由编译器决定。unicode
###字面值常量#字符串
以0开头的表示8进制数,以0x开头的为十六进制数,例如024,0xb2.编译器
能够指定字面值类型,如L'a'表示宽字符型字面值,u8"hhh"表示utf-8字符串字面值。编译
指定字面值的类型:变量
字符和字符串字面值: 前缀 含义 类型 u unicode16字符 char16_t U unicode32字符 char32_t L 宽字符 wchar_t u8 UTF-8 char 整型字面值: 后缀 最小匹配类型 u or U unsigned l or L long ll or LL long long 浮点型字面值: 后缀 最小匹配类型 f或F float l或L long double
###变量#扩展
变量初始化,能够用=、()、{}、={}进行初始化,其中花括号的初始化被称为列表初始化。
默认初始化,变量没有指定初值,则执行默认初始化。内置类型的初始化值由它的位置决定,定义于全局的内置类型将赋0,定义于函数体内部的变量将不被初始化,其值是未定义的。建议初始化每一个内置类型的变量。
变量声明和定义的关系
声明使得名字为程序所知,定义负责建立与名字关联的实体,也就是说定义会申请内存空间并可能为变量赋予初值。若是想声明一个变量而非定义它,就在它名字前添加extern关键字。
extern int i; //声明而非定义 int j; //声明并定义 extern double pi = 3.1415; //定义
给extern关键字标记的变量赋初值将抵消extern的做用而定义这个变量。