C++进阶学习指引

来源:互联网 发布:ubuntu中vim命令大全 编辑:程序博客网 时间:2024/05/22 06:48
C++进阶学习指引
孔令春 posted @ 2010年4月13日 21:58 in 杂七杂八 with tags C++进阶 , 3538 阅读

一、环境推荐

        有些人一上手就学VC++,以至于不知不觉中就对VC编译器、MFC库等产生过多的依赖,甚至于有的连VC++与C++的区别都分不清,这是很可怕的事情。建议初学者不要一上来就学VC,可以的话,不防从Linux 、GCC等环境学起。

 

二、书籍推荐

1、C++ Primer中文版(第4版)

2、 C++程序设计语言(特别版)

3、Effective C++:改善程序技术与设计思维的55个有效做法

4、深度探索C++对象模型

5、C++ template (侯捷译)

6、STL 高效编程

7、STL源码剖析

 

三、库推荐

1、Boost库

        Boost库被称为“准标准库”,是C++标准模块库(STL)的扩展和延伸。它包含了许多非常实用的小的工具库,具有很强的学习价值。

2、Asio库

        Asio库是C++的网络库之一,现已被加入Boost库中。之所以在此单独提出,是因为我觉得无论从它行云流水般的库结构,还是网络编程的重要性来讲都是很值得学习的。

3、Qt库

        Qt库是C++的图形库之一,具有非常强大的功能和可移植性,也是很值得学习的。

4、MFC库

        MFC库是专属于Windows系统的不可移植的基础类库,虽然很强大,但争议也颇多,本身来讲我并不想推荐,但没有办法,谁让Windows太过流行了,无论我们编写什么样的软件,只要涉及到跨平台恐怕都得需要接触一下。

 

四、为什么我学完C++之后不知道能干什么

        有些同学学完C++之后不知道能够干什么,觉得很迷惘。其实我也一样,在未接触Boost、Asio、Qt这几个库之前,我也不知道学完能干什么,总觉得什么也干不了,网络也不行,图形界面也弄不出来,甚至有的时候都不想学了,很长的一段时间都有想转学Java的冲动……

        直到有一天,我看到一本书《C++语言的设计和演化》,书中说到C++之父在设计C++之时,一个设计目标之一就是想将C++设计成通用的,不面向任何特定用途或单一领域。对于具有专门用途的应用可通过一些相关库来实现。这时我才明白,“学完C++不知道能够干什么“这种感觉是正常的,因为你还没接触到它的“相关库”,于是通过查资料和不断的比较,我选择了在上述库推荐中的库,从此再也没有不能干什么的感觉了,继续学习C++信念更加坚定了。        

0 0