1: 不要使用宏,用const或enum定义常量
用inline避免函数的额外调用(使用inline的函数,块里面尽量不要使用循环和递归)
用template去荷花一些函数或者类型
用namespace去避免命名冲突
2:不要在你需要变量之前去声明它,以保证你能立即对他进行初始化
声明可以出现在所有位置上,for里面,if语言里面
忠告
1:在编程时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表达,让程序的结构尽可能直接映射这种思想
1.1:如果你能把 ”它“ 看成一个独立的概念,就把他做成一个类(比如“人”)
1.2:如果你能把 ”它“ 看成一个独立的实体,就把它做成某个类的对象(比如“男人 或者 女人”,定义类的对象,他们都数以类 人的一个对象概念)
1.3:如果2个类有共同的界面,将此界面做成一个抽象类
1.4:如果2个类的实现有某些显著的共同东西,将这些共性做成一个基类(也就是父类)
1.5:如果一个类是一个对象的容器,将他做成一个模板
1.6:如果一个函数实现对应某容器的一个算法,将函数的实现对应容器可用的模板函数
1.7:如果一组类,模板等互相之间有逻辑联系,将他们放进一个名字空间里
2:在你定义一个并不是实现某个像矩阵或复数这样的属性对象的类时,或者定义一个底层的类型,如链接表的时候
1.1:不要使用全局数据,使用成员
1.2:不要使用全局函数
1.3:不要使用公用数据成员
1.4:不要使用友元,除非为了避免【1.1涉及的内容】或者【1.2涉及的内容】
1.5:不要在一个类里面放“类型域”;采用虚函数
1.6:不要使用在线函数,除非效果有显著的优化
3:类型区别
1:bool char int =整型
2:(bool char int =整型)(floar double =浮点) =算术
3:枚举 类 =用户定义类型
4:char_t 是一个typedef起的别名,他不是内部定义的类型
整数类型:int short int unsigned int
整数大小:short int(short) int long int(long)
unsigned(unsigned int) signed(signed int)