基本类型和变量
基本内置类型:
1.bool
2.char
3.wchar_t(宽字符)
4.char16_t(Unicode字符)
5.char32_t(Unicode字符)
6.short
7.int
8.long
9.long long
10.float
11.double
12.long double
C++语言规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大。
除去布尔型和扩展型,其他整型可以划分为带符号的(signed)和无符号的(unsigned)两种,带符号的类型可以表示正数、负数、0,无符号的类型只能表示大于等于0的值,在整型的类型名钱添加unsigned就可以得到无符号的类型(如 unsigned long , unsigned int 可以简写为unsigned).
当赋值给带符号类型一个超出它范围的值时,结果是未定义的(undefined),此时程序可能继续工作、可能崩溃、可能产生垃圾数据。
非布尔类型转换为布尔类型 非0为真。
布尔类型转非布尔类型是 true 为1 false 为0。
当一个算术表达式中既有无符号数又有int值时,int值会会转换成无符号数。
C++的标识符由字母、数字、下划线组成,必须以字母或下划线开头。 标识符的长度没有限制,但是对大小写字母敏感。
复合类型:复合类型是指基于其他类型定义的类型。
引用:为对象起了另一个名字,引用类型引用(refers to)另外一种类型。通过将声明符写成&d(d是声明的变量名)的形式来定义引用类型。
指针:是指向(point to)另外一种类型的复合类型,定义指针的方法将声明符写成*d(d是声明的变量名)。
指针存放某个对象的地址,要想获取该地址,需要使用带取地址符(操作符&)
例如 int ival = 42;
int *p = &ival;
const限定符(和java中的final类似)即常量,值不能被修改。
常量表达式(const expression)能在编译是计算并获取结果的表达式。
constexpr是一种函数,用于代表一条常量表达式。