类型是全部程序的基础。类型告诉咱们数据表明什么意思以及能够对数据执行哪些操做。编程
C++中对类型的支持是很是普遍的:语言自身定义了一组基础类型和修改已有类型的方法,还提供了一组特征用于自定义类型。函数
2.1基本内置类型spa
wchar_t类型用于扩展字符,好比汉字和日语,这些字符集中的一些字符不能用单个char表示。对象
整型:在大多数机器上,使用int类型进行整型计算不易出错。内存
浮点型:使用double类型基本上不会有错。字符串
2.2字面值常量编译
只有内置类型存在字面值。基础
定义长整型时,应使用大写字母L,小写字母l容易和1混淆。变量
两个相邻的仅由空格、制表符或换行符分开的字符串字面值,可链接成一个新的字符串字面值。这使得多行书写字符串字面值变得简单。扩展
在一行的末尾加一个反斜线符号可将此行和下一行当作同一行处理。
2.3变量
C++两种表达式:左值(可出如今赋值语句左边和右边)、右值(只出如今赋值的右边)
对象是内存中具备类型的区域。
标识符不能包含两个连续的下划线,也不能如下划线开头后面紧跟一个大写字母。
在C++中初始化和赋值是两种不一样的操做。
建议每一个内置类型的对象都要初始化。
只有当extern声明位于函数外部时,在能够含有初始化式。
任何在多个文件中使用的变量都须要有与定义分离的声明。在这种状况下,一个文件包含变量的定义,使用该变量的其余文件则包含该变量的声明。
一般把一个对象定义在它首次使用的地方是一个很好的方法。
2.4const限定符
非const变量默认为extern。要使const变量可以在其余文件中访问,必须显式的指定它为extern。
2.5引用
const引用是指向const对象的引用。
将普通引用绑定到const对象是不合法的。
const引用能够初始化为不一样类型的对象或者初始化为初值。
2.6 typedef名字
隐藏特定类型实现,强调使用类型的目的
简化复杂的类型定义,使其更易理解
容许一种类型用于多个目的,同时使得每次使用该类型的目的明确
2.7枚举
枚举类型的对象的初始化或赋值,只能经过其枚举成员或者同一枚举类型的其余对象类进行。
2.8类类型
编程新手常常会忘记类定义后面的分号,这是个很广泛的错误。
2.9编写本身的头文件
头文件通常包含类的定义、extern变量的声明和函数的声明。
由于有文件包含在多个源文件中,因此不该该含有变量或函数的定义。
头文件能够定义类、值在编译时就已知道的const对象和inline函数。
咱们必须保证屡次包含同一文件不会引发该头文件定义的类和对象被屡次定义。(使用预处理器定义头文件保护符)
为了不名字冲突,预处理器变量常常用全大写字母表示。