嗯..据说这本书一般般,不必细读,但有些内容还是觉得有用的...是我太弱了么囧Orz...
书本有些错误,需要自己去验证。
======第5 6 7章 ======
执行的语句顺序,有时只执行前面部分
类型转换,int 与 unsigned int一起,int会转换为unsigned
数据交换,用异或,又没有溢出的危险
宏,是直接替代,所以会有问题,运算的优先级等
const的作用,多种,函数后,函数前,还有修饰数据成员
sizeof问题,指针问题,还有虚指针问题,还有空类的大小问题(1)
sizeof还有数据对齐的问题。首先,每个变量存的位置为它本身大小的倍数偏移量。其次,整体做数据对齐。所以,应该结构体中小数据在前。
虚指针,虚表等概念问题。
引用不能为空(在定义时就要指定)。const量也是。
int * ptr[] 是指针数组。 int (*ptr)[] 是指向整形数组的指针。( [] 的优先级高)
======第8 9 10 11章 ======
又是剪枝问题,可以提高效率。
打表法求素数,还有开根号求素数的方法。
类里不能给它们赋值。静态常量,常量,静态的赋值问题(常量在构造函数的初始化列表里,静态和静态常量在类定义文件里,参考另一篇文章)
自赋值,先检查,安全性问题。类似的,还有边界性问题。
覆盖,重载,隐藏的问题(参考另一篇文章)
非虚函数,由指针类型决定。虚函数,由实际决定。
继承问题,private不能被继承。还有属性的变化。
虚拟继承,作用。
======第12 13 14章 ======
进制转换问题。思考具体情况。十进制=八进制/10*8+八进制%10
边界条件的检测,再次提醒。
排序的稳定性。
字符串strcpy的问题。以及它们存储空间的问题(栈,堆,栈是函数内部成员,堆是new的空间,还有后定义的在低地址)
不允许建立空数组,即int a[] 是非法的语句。