1.算法:一组有穷的规则,它给出了为解决一个问题集合的一个操作序列,包括有穷 定义 输入 输出 效率
2.不要相信奇迹,要理解你的程序能做什么,怎么做,它们做需要多大的代价
3.限制使用那些意义不是很明确的常量,只将它们用在给const或者枚举量初始化的表示中
4.你需要在某种细节方面理解隐式转换
5.枚举是一个类型
6.如果某个枚举型的枚举符都为正,该枚举表示范围[0:2的K次方-1]2的K次方为能使所有枚举符都位于此范围的最小的2的幂,如果为负
则范围是[-2的K次幂,2的K次幂-1]
一个整型值可以显示的转换为枚举,此整数必须在范围内
一个枚举的sizeof()就是能最小的K
枚举是用户定义类型,所以用户可以自定义其操作
7.一个声明的四个组成部分 可选描述符 基础类型 声明符 可选的初始化
8. int *pi;//到int的指针
int **ppi//到来指针的指针
int *op[14]//15个int型指针数组
int (*fn)(char *)//指向函数的指针
int *fn(char*)//返回int指针
9.指针的实现是希望直接映射到程序所在的机器上的地址机制
10.由C++收紧的类型检查规则,彩普通的0而不是NULL来表示指针没有指向任何对象
11.普通的"T&“引用初始式必须是一个类型T的左值,对const T&可以不是左值甚至可以不是类型T的 这种情况下(1)隐式转换->(2)创建T型
临时变量->(3)将临时变量赋给初始值
12.void* 最主要的用途就是向函数传递一个指针,而你不能对对象的类型作假设还有就是返回一个无类型的指针,使用这类对象必须显示的
转换
结构类型的名字可以在这个类型的定义之前使用,只要在有关使用无需知道成员的名字和结构的大小 类也可以如此