赵国瑞老师这本《C++程序设计与数据结构基础教程》,路子确实正。但买书前,咱得先对对号。这书是专门给高校非计算机专业学生备的。六到八十学时,把C++底子跟数据结构一块儿夯实,时间卡得死死的。当然,搞软件的工程师、程序员、爱好者,还有干工程技术的同事,放办公桌边随手翻翻,也完全没问题。不过说句掏心窝子的话,要是你已经是死磕底层源码、天天琢磨复杂系统架构的老手,这书咱真别硬啃。人家定位就是打地基。概念掰开了揉碎了讲,不碰花里胡哨的前沿特性,也不搞极限性能优化。老鸟翻两页,大概率会嫌节奏拖沓、内容太浅。我觉得这纯属定位不同,没必要较劲,各取所需呗。
想把这书读透,就得顺着赵老师排好的台阶,一步一步往上爬。头一章,老老实实把C++的基本零件和面向过程的写代码套路摸熟。地基要是打歪了,后面盖楼全得塌。翻到第二部分,手脚最好放慢点。专攻面向对象那套玩法。C++的魂,就在这儿。但说真的,新手最容易在哪儿卡壳?“类跟对象到底啥关系”、“继承和多态怎么转”,这些抽象概念,看一眼就懂,一上手就懵。这时候别光用眼睛扫。死磕概念没用。拿书里的例题当草稿纸,一行行敲,一遍遍推。到了第三部分,基本数据结构加上标准模板库(STL)的实操,绝对是全书最磨人的硬骨头。STL容器到底能装啥、不能装啥?迭代器怎么指来指去?自己写的结构体怎么跟标准库搭班子?这些地方,很容易让人挠头。碰壁了,别急着往后翻。把书后的练习题全过一遍。要是手头能凑齐配套的实验指导跟习题答案,一定要动手敲代码。光看不练,纯属假把式。道理其实特简单:把脑子里那些飘忽的抽象概念,一点点敲进编译器里。代码的肌肉记忆,自然就出来了。
翻书前,真不用给自己贴“科班出身”的标签。只要脑子转得动,能坐得住冷板凳,自学者完全能啃下来。这书本来就是给自学者量身定做的,讲道理,不绕弯子。读的时候,手和脑子得一块儿干活。别干瞪眼。心里揣着三个问题,往前溜达就行。结构化编程那些基本零件,是怎么拼出清晰代码逻辑的?面向对象那套特征,怎么把乱成一团的程序收拾得井井有条,又跟之前的结构化写法互相搭把手?STL凭什么能麻利地搭出各种数据结构,硬生生成了现在C++开发的标配工具?拿这些问题去对书里的讲解和例题,脑子就不容易跑神。被动照单全收,不如主动刨根问底。这么问着读,每章的重点,自然就钉死在脑子里了。
说到底,这书没搞那些云山雾罩的理论堆砌。全凭大白话和实打实的练习题,硬生生给你铺出一条从入门到懂点工程门道的路。你就跟着六到八十学时的步子走。把基础语法、面向对象、数据结构和STL这几关,挨个过一遍。别偷懒。多敲代码。底子稳了,以后想往哪儿钻,心里都有数。书是好书。但路,得自己一步步走。