1.算术类型
bool 取值为真或假
int 16位 65536long 32位 4 294 967 296
longlong 64位 18 446 744 073 709 551 616
int__64 64位 18 446 744 073 709 551 616
2.由单引号括起来的一个字符称为char型字面值,双引号括起来的零个或多个字符则构成字符串字面值。
3.转义序列被当作一个字符使用,我们可以像使用普通字符那样使用c++语言定义的转义序列。
4.默认初始化
如果定义变量时没有指定初值,则变量被默认初始化,此时变量被赋予了默认值。默认值是由变量类型决定的,同时定义变量的位置也会对此有影响。
如果是内置类型的变量未被显示初始化,它的值由定义的位置决定。定义于任何函数体之外的变量被初始化为0。定义在函数体内部的内置类型变量将不被初始化。一个未被初始化的内置类型变量的值是未定义的,如果试图拷贝或以其他形式访问此类值将引发错误。
5.变量声明和定义
变量声明规定了变量的类型和名字,在这一点上定义与之相同。但是除此之外,定义还申请存储空间,也可能会为变量赋一个初始值。
如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示地初始化变量,任何包含了显式初始化的声明即成为定义。
变量能且只能被定义一次,但是可以被多次声明。
6.引用为对象起了另外一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。
引用即别名,引用并非对象,相反的,它只是为一个已经存在的对象所起的另外一个名字。
7.指针存放某个对象的地址,想要获取该地址,需要使用取地址符&。
8.const限定符,对变量的类型加以限定,其值不能被改变
因为const对象一旦创建后其值不能再改变,所以const对象必须初始化。
用名词顶层const表示指针本身是个变量,而用名词底层const表示指针所指的对象是一个常量。
9.typedef ,using 用于定义类型别名。
decltype 类型指示符 用于获取表达式的类型。
10.c++11新标准规定,可以为类的数据成员提供一个类内初始值。创建对象时,类内初始值将用于初始化数据成员。没有初始值的成员将被默认初始化
11.类通常被定义在头文件中,而且类所在头文件中的名字应与类的名字一样。