查看文章 |
在图书馆借这本书有些时日了,初见此书,被其浅显易懂的实例和语言所打动。特别是该书在进行讲解排序算法中,使用了打印排序过程等方法,一针见血,直击要害,感觉此乃一入门佳作。最近一直学习此本书,但是感觉多有不足之处: 1.文章在介绍链表时,通篇使用system("pause")等命令,在linux下不能移植;(如[P67]) (不过在linux下可以用 read -n 1 -p "Press any key to continue... 命令解决) 2.文章习惯把其他c语言书上的实例照搬,感觉换汤不换药, 把struct a {} 单单改为class a{public:} ,把printf改为cout 完事,完全忽略C++中强调的数据封装的重要性。 更是在实例中闹出了笑话:前面声明的是class list{},后面却typedef struct list node; [P84] 在[P73]实例中干脆全部使用struct list{}; 程序中虽然有new和delete,却掺杂了大量的malloc和free。[p91] [p104]等 如[P89] free(CurNode),完全辜负了《Effective C++》对咱们的深刻教育(条款3:尽量用new和delete而不用malloc和free ) 3.程序在细节方面存在很多不足:比如程序ch03_04.cpp,插入的数据不能位于表头等。 4.ch04_04.cpp[p117中,突然又玩起了int main(void),这符合在C89标准却不符合C99标准。 5.变量名不够规范(这是made in china的老毛病了, 不过比起老谭这类书算好太多了)
p.s.不能因为其中的一些毛病而否认这是一本好书,起码比我所见过的所有国产教材强多了。
【作 者】吴灿铭【出 版 社】 清华大学出版社 【书 号】 9787302180708 【出版日期】 2008 年7月 【开 本】 16开 【页 码】 323 【版 次】1-1
|

