你好,非常抱歉,最近比较忙,没有时间看留言板所以也没能及时给你回复,请你见谅,你的问题我看了,首先你的问题相当普遍,也因为如此答案反而很难具体而有效。我这里也只能给你一点提示,而不是具体能实行的学习计划。
第一,对于编程来说,最主要的是这么一个公式:编程语言(programming language)+ 算法(algorithm)+ 设计(design)+ 库(library)+ 项目经验,所以你看书的时候应该明白自己在补充哪一方面的知识,举例说,c++ primer 是编程语言的基础教程,算法导论是算法和库的实现。effective系列和exceptional系列则重点在于语言层面的设计(就是说比较局限于cpp这个语言的设计手段),设计模式则是跨语言的一个设计思想导论,显然我说的这些是每个优秀的c++程序员都应该有所涉及的。
第二,库和项目经验这些东西都是需要大量的实践的,比如mfc,就是一个微软的COM库,用于windows系统的一个比较成熟的商业库,虽然他有很多缺点,写起来让人很不舒服,但是对于cpp来说,在windows平台上还没有什么库能超越他,尽管现在的dotnet框架在慢慢取代,但是还需要几年时间,你看到net库的版本差异如此之大就知道他还没有达到可以稳定商业化的地步,所以过时与否实在是一种时髦的争论,对计算机具体的工作没有什么太大的意义,当你面对一个具体的项目的时候,可以选择的实在不多。
第三,cpp是一个复杂的语言,他几乎涵盖了计算机编程的各个领域,学会了他,会给你学习其他编程语言打下一个非常雄厚的基础,但是我建议你不要局限于cpp这个语言,因为cpp是可以解决几乎所有领域的问题,但是具体到某个领域,你总会找到更方便的语言工具,比如c#,java,python之类的,cpp应该是最后的武器,而不是随身带的匕首。
最后,尽量避免陷入时髦的争论,什么语言之争,库之争等等。什么工具都有它的强项领域,这种争论和当前抵制家乐福的争论一样无聊,
好了,这些就是我的个人意见,供你参考。