我的C/C++学习经历

    极少写文章,写得不好,抛砖引玉了。有过时、错误的地方请多批评,不同意见交流。

    大学四年在江南大学度过,大一开学,最感兴趣的是《C语言程序设计》这门课,这门课由张正道老师任教,采用英语教学,课本是英文版教材《A First Book of ANSI C》。我记得老师说过,采用英文版教材,能训练你们看英文材料的能力。我认为这是一个很好的开头,了解英文专业词汇后,看英文资料就习惯了很多,而以后进一步学习,确实很多资料都是英文的。

    当时用的IDE是VC6,虽然很多人嫌弃它太老,不符合标准什么的,我觉得基本用用还是不错的,只要你知道VC++ != C/C++,而且调试什么的还是很方便的。

推荐:Windows 上用 Visual studio 或者 QT。Linux 上用 Vim 或者CLion, 编译器用GCC或者Clang吧

    开始学语言就是多看书,多写程序,多思考。遇到问题,可以问老师同学,但是也一定得会自己上网搜索(Google, Baidu)。选择题适当做做,促进思考。

    当时我上网搜索,如何成为编程高手,知道了ACM这东西,上 ZOJ 做了道 A+B,后面觉得好难,没有继续做,哈哈,当时只学过C语言。

推荐:学学数据结构,算法,参加ACM,是一条不错的路。

第一学期期末,开始学习C++,借了本国内作者书,随便了解了一下,之后看的是《C++ primer》。

好像是第二学期,觉得怎么老写console程序,那图像界面是怎么写的呢?逛了几遍图书馆,借了本《windows 程序设计》,这书还挺复杂的,上来直接就是MFC框架的内部设计,一度让我有些受挫。之后,虽然知道MFC框架已经过时了,我还是通过上网,查资料,把这些基本都搞通了,心中的疑惑基本消除了。记得当时一早就去图书馆查资料,终于把问题搞明白,那种感觉是非常好的。

很疑惑QQ,迅雷看看这种漂亮界面(无边框,渐变按钮,透明)是怎么写出来的,最后配合directshow写了个仿迅雷看看的视频播放器。

当时也写过C#图形界面,感觉太容易了,没意思。(只是当时的感受,并不对)

Linux C/C++ 开发接触得比较晚,比较遗憾。

推荐:《C/C++ 企业软件开发》《Unix环境高级编程》《Unix网络编程》卷一卷二

推荐其他相关的书

《C语言深度剖析》PDF (国内作者,一些经典名著的总结,很好)

《C 专家编程》

《Effective C++》(我感觉实践不多的话,不太好吸收)

《Inside the C++ Object Model》(最近才看的,感觉这书很好)

《深入理解计算机系统》(我想这个时期看还是不错的)

可以做的方向

语言只是实现工具,得配合具体的技术才有意义。

算法

Windows 程序

Linux网络编程

配合OpenCV,做计算机视觉

配合OpenGL,做计算机图形学

你可能感兴趣的:(我的C/C++学习经历)