通过学习C++ Primer,明确C++语言支持四种基本数据类型:基本内置类型、复合类型、处理类型、自定义数据类型。
1、基本内置类型
基本内置类型包含了算数类型和空类型,空类型一般仅仅用在返回值为空的函数声明与定义的场景,算数类型用于定义存储数据时在内存中所占的比特位位数,且在不同机器上有所差别。
整型主要包含布尔型、字符型、普通整型,其中bool型仅仅需要一个二进制位即可以存储,字符型分为基本字符类型和扩展字符类型,基本字符类型char应该可以存储机器基本字符集中的任意字符对应的ASCII码值,而扩展字符类型则可以存储机器自大扩展字符集中的任意字符的ASCII码值,其他整型包含short型、int型、long型。
浮点型主要包含了单精度、双精度、扩展双精度类型,数据存储精度依次升高。
除了布尔型和扩展字符型之外,其他整形都包含了带符号类型和不带符号类型两种,带符号类型可以表示正数、0、负数,不带符号类型仅可以表示正数,其所有比特位都用来存储数值。
2.复合类型
复合类型是指基于其他类型定义的类型,其中包含引用和指针。
引用是为已经存在的对象起个别名,本身并非一个对象,不单独再开辟内存空间,无法定义一个引用的引用,必须在定义的时候直接初始化,而且不允许用字面值或表达式初始化非常量引用,引用在参数传递方面,引用传递要比值传递方式效率高。
指针也实现了对其他对象的间接访问,但是指针本身是一个对象,可以对一个指针进行赋值,同时指针在定义时,可以先不初始化。
3、处理类型
关键字typedef定义的类型别名,如:typedef double* pd;即声明了pd为一个纸箱double的指针类型。
4、自定义类型
C++语言允许用户以类的形式自定义新的数据类型,我们可以根据实际需要,将一组数据组织起来然后定义好操作他们的方法。