写在前面的:这本书前面面向过程的很多东西都是C语言里学过的,有些非C的也是自己以前知道的,所以只是一些总结性的东西
(1)C++定义了一组表示整数、浮点数、单个字符和布尔值的基本数据类型(还有一种void特殊类型),基本数据类型的存储空间大小依据机器决定,C++标准只规定了每个基本数据类型的最小存储空间,但是并不阻止编译器允许使用更大的存储空间(事实上都是这样的)
(基本数据类型又叫做算术类型)
(2)给一个整型变量赋值时,如果超出了该变量类型的的取值范围,则结果取决于这种类型是signed还是unsigned的。
对于unsigned类型,取该值对unsigned类型最大值+1的模。例如:对于无符号8位类型(0到255) 336就是336%256=80; -1就是-1%256=255
对于sign类型,由编译器决定,也可能会像无符号一样,也可能不会
(3)整数常量在程序中可以使用十进制、八进制、十六进制中的任一种(当然不会改变其二进制位的表现形式)
例如20(十进制) 024(八进制) 0x14(十六进制)
(4)处理长字符串有一个更基本的(但不常使用)方法,这个方法依赖于很少使用的程序格式化特性:在一行的末尾加一个‘\’可以将这行和下一行当做一行来处理
(5)C++中有很多关键字,还有一些词用作各种操作符的替代名
(6)变量的初始化:直接初始化和复制初始化(这两者大多数情况下都是一样的,但是对于类类型的变量来说,有些初始化仅能用直接初始化完成)
其实个人认为所有的变量都可以看做是一个对象
(7)声明与定义的差别
(8)名字、变量的作用域
(9)const限定符
const限定的变量值在初始化后,值不能再改变;const对象默认为文件的局部变量
(10)引用(变量的别名)在程序中主要用作函数的形式参数
int a=1024;
int &b=a;
修改b的值,就是修改a的值
const引用是指向const对象的引用。
const int a=1024;
const int &b=a; //正确
int &b=a; //错误
可以读取但不能修改引用b,从而也不能修改a
(11)typedef
(12)枚举(enum)
枚举成员是常量
默认的,第一个枚举成员赋值为0,后面的每个枚举成员赋值都比前面的大1
(也可以根据需要自己赋值,但依然具有该特性)
(13)类类型
用class来定义类,每个类都定义了一个接口(操作:成员函数)和一个实现(数据:数据成员),以及外部对其的访问权限
还可以用struct来定义类
(14)编写自己的头文件