C++是一门强大的语言,也是复杂的语言,它支持系统程序设计、面向对象程序设计和通用程序设计。
说它支持系统程序设计,是因为它兼容C语言,在效率上不妥协;另一个理由是C++适合大型程序设计。
说它支持面向对象程序设计,是因为它较完整的支持了对象和类的概念及实现。
说它支持通用程序设计,是因为可以泛型编程,使用模板库。
第一点,只要学习了C++的基本语法,就可以了;第二点理解比较容易,可封装、继承和多态在庞大的程序中,不是那么容易处理妥当的;第三点,要求在理解STL使用和内存管理的基础上,多记一些标准库资源。
本人本科毕业,在学校时没怎么认真学习,学的比较勉强,就大一C语言学的还可以,对数据库感点兴趣,或许因为数据库比较容易吧,后来的《操作系统原理》、《计算机组成原理》、《TCP/IP网络编程》、《加密与解密》学的非常差,大三项目驱动教学使得《软件工程》学的不错。大三上学期通过了数据系统工程师资格考试,下学期通过了软件设计师考试。虽然这两证书不算什么,但补充了不少专业基础知识。
大学毕业后,进入南昌一家小公司,做着小项目,VC6.0开发,身边没有真正的高手,自己慢慢学着。两年做了3,4个小项目,学到了一些东西,对编程的理解也深入了些。每当做完了项目后,再静心看着书,理解层次就完全不一样。
本人在这两年认真看了《C和指针》、《C/C++高质量编程》,通过这两本书,真正的理解了指针和内存,数组和数据结构。以后有时间再品尝这两本书时,再在此博客记录学习过程。《MFC深入浅出》、《深入浅出MFC》、《深入探索C++对象模型》、《Windows 程序设计》看了一些,总是没坚持全部看完,下次看的时候再记录学习过程。
现在在读《C++程序设计语言(特别版)》,这本书难度比较大,理由有两个:一、表达语言和晦涩,Bjarne本身表达的可能就不是特别通俗,裘教授在翻译的时候可能有点死板,可能也是为了尽量与英语表达的顺序一致,有些专业术语翻译的不通用;二、正如裘教授所讲,有些需要大量实践才能明白的东西,在Bjarne大师眼里很简单,所以表述时一笔带过,给阅读带来很多难度。
总的来说,这本书还是很好,第一、作者作为C++语言的发明者,文字行间到处体现了C++的特性和大量的各种知识点,这是普通的C++教程不可能有的;第二、本书对C++语言介绍的很全面;第三、本书有大量的实践的经验总结,对OOP、OOD领悟很有意义。所以本人相对《C++ Primer》,更推荐此书《The C++ Programming Language》。