菜鸟笔记
提升您的技术认知

C++学习路线

从学习C++到现在已经有四个年头了,但是从来没有很深入学习,有人说C++是面向对象的编程语言,但是我在这里想说的是,C++是一个多泛型的编程语言,它既可以面向过程,比如我们完全可以用C++写C的代码,这是没问题的,它也是一个面向对象的语言,它具有面向对象的特征,可以模拟现实世界中的各种事物;它也是一个泛型编程语言,里面包含大量的模板特性,比如C++的标准库STL就是基于模板的一个库,C++语言的难学也就是因为它的功能十分强大。

    C++初学者一般可以按照下列的顺序进行学习:

    刚开始接触C++时,如果是学校开了C++课程的话那就更好了,可以跟着老师的进度学习,在课余时间可以多做一些习题或上机练习。如果你是完全自学,你可以找一本面向大学生的教材(谭浩强的教材比较适合入门)。掌握了一些基本的C++概念了,那就开始学习面向对象的部分了,这部分内容比较多,初学者理解起来也会感觉比较吃力,建议多上机练习。在基本了解了C++的面向对象之后,可以开始学习模板库,比如STL,因为STL在我们的软件开发中非常重要,甚至有些招聘都要求会STL,(STL:标准模板库),这里面包含了大量的数据结构和算法的实现,有些可以直接拿来用,但是如果你对数据结构有特殊需求,那么你就要自己去实现这些数据结构。

   如果你已经进入了C++的世界,那么你就可以进阶学习了,学习了这些你或许感觉有疑惑,为什么我不能开发出一个带界面的程序呢,呵呵,如果你又这样的需求,那么你可以学习一些界面库,比如QT,MFC等,这两个是比较常用的,QT入门稍微容易些,但是往后深入会比较困难,MFC入门起来会麻烦一点,有很多人也就是因此而放弃,但是甜头在后面,只要入门了后面的路将会是一马平川,障碍比较少。

   库,在c++的世界里具有很高的位置,你如果对某一领域感兴趣,你就需要去了解和学习相关的库,比如三维图形库OPENGL,网络通信库ACE等等,这些库基本是都是标准C++写成的,一般都是跨平台的。也许有很多会有疑问,我学习了C++以后能做什么样的软件开发工作?目前C++软件开发主要集中在以下领域:

  1、服务器端开发:很多游戏或者互联网公司的后台服务器程序都是基于C++开发的,而且大部分是linux,unix等类似操作系统,所以说,你如果想做这样的工作,你需要熟悉linux操作系统及其在上面的开发,熟悉数据库开发,精通网络编程。

 2、游戏:目前很多游戏客户端都是基于C++开发的,除了一些网页游戏可能不是,这个领域需要学习的东西就比较多,个人不太了解就不多说。

3 、虚拟现实仿真:这个也是发展很快的计算机领域,目前各种数字地球,数字城市,虚拟地理环境什么的,出现了这方面的大量应用,不过也不限于这些方面,比如科学计算可视化也是其中一个方向。这个方向重点需要学习的是图形学。

4 、数字图像处理:现在市面上有很多VC++图像处理的书籍,可见在这个领域的应用软件开发也是占了很大比重,需要深入学习数字图像处理和模式识别等课程。

呵呵,说到这里都感觉好像跑题了,都没看到具体什么学习路线啊,就当是自己的学习感言吧,有什么不对的,也欢迎大家讨论。