<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->
1. 把 C++ 当成一门新的语言学习(和 C 没啥关系!真的。);
2. 看《 Thinking In C++ 》,不要看《 C++ 变成死相》;
3. 看《 The C++ Programming Language 》和《 Inside The C++ Object Model 》,不要因为他们很难而我们自己是初学者所以就不看;
4. 不要被 VC 、 BCB 、 BC 、 MC 、 TC 等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5. 不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6. 会用 Visual C++ ,并不说明你会 C++ ;
7. 学 class 并不难, template 、 STL 、 generic programming 也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8. 如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的 C++ 水平并没有和你通关的能力一起变高——其实可以时刻记住:学 C++ 是为了编游戏的;
9. 看 Visual C++ 的书,是学不了 C++ 语言的;
10. 浮躁的人容易说: XX 语言不行了,应该学 YY ;——是你自己不行了吧!?
11. 浮躁的人容易问:我到底该学什么;——别问,学就对了;
12. 浮躁的人容易问: XX 有钱途吗;——建议你去抢银行;
13. 浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14. 浮躁的人容易问: XX 和 YY 哪个好;——告诉你吧,都好——只要你学就行;
15. 浮躁的人分两种: a )只观望而不学的人; b )只学而不坚持的人;
16. 把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++ 不仅仅是支持面向对象的程序设计语言;
18. 学习编程最好的方法之一就是阅读源代码;
19. 在任何时刻都不要认为自己手中的书已经足够了;
20. 请阅读《 The Standard C++ Bible 》(中文版:标准 C++ 宝典),掌握 C++ 标准;
21. 看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22. 别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23. 请看《 Effective C++ 》和《 More Effective C++ 》以及《 Exceptional C++ 》;
24. 不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; 25. 和别人一起讨论有意义的 C++ 知识点,而不是争吵 XX 行不行或者 YY 与 ZZ 哪个好;
26. 请看《程序设计实践》,并严格的按照其要求去做;
27. 不要因为 C 和 C++ 中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++ 绝不是所谓的 C 的“扩充”——如果 C++ 一开始就起名叫 Z 语言,你一定不会把 C 和 Z 语言联系得那么紧密;
29. 请不要认为学过 XX 语言再改学 C++ 会有什么问题——你只不过又在学一门全新的语言而已;
30. 读完了《 Inside The C++ Object Model 》以后再来认定自己是不是已经学会了 C++ ;
31. 学习编程的秘诀是:编程,编程,再编程;
32. 请留意下列书籍:《 C++ 面向对象高效编程( C++ Effective Object-Oriented Software Construction )》《面向对象软件构造( Object-Oriented Software Construction )》《设计模式( Design Patterns )》《 The Art of Computer Programming 》;
33. 记住:面向对象技术不只是 C++ 专有的;
34. 请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35. 把在书中看到的有意义的例子扩充;
36. 请重视 C++ 中的异常处理技术,并将其切实的运用到自己的程序中;
37. 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38. 不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.C++ 语言和 C++ 的集成开发环境要同时学习和掌握;
40. 既然决定了学 C++ ,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41. 就让 C++ 语言的各种平台和开发环境去激烈的竞争吧,我们要以学习 C++ 语言本身为主;
42. 当你写 C++ 程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见 43 );
43. 别心急,设计 C++ 的 class 确实不容易;自己程序中的 class 和自己的 class 设计水平是在不断的编程实践中完善和发展的;
44. 决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45. 每学到一个 C++ 难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46. 记录下在和别人交流时发现的自己忽视或不理解的知识点;
47. 请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成 Version 100.XX ;
48. 保存好你写过的所有的程序——那是你最好的积累之一;
49. 请不要做浮躁的人;
50. 请热爱 C++ !
国内作者写的 C++ 书籍一本也不要买! . W) ^4 g# c7 L: ` g2 m6 Z; [
我的推荐书单如下: & ]2 e5 C$ M* v) T2 v L
入门阶段: * d6 r! ?0 O2 @* /1 T* d" ?
《 The C++ Programming Language 》或者《 C++ Primer 》其中一本。不必两本都买。
《 Essential C++ 》 & e0 B1 A' T. }$ _* n
《 The C++ Standard Library 》候捷译本《 C++ 标准程序库》
+ p! v( S9 {, m; ^; Z
提高阶段:
《 Effective C++ 》和《 More Effective C++ 》 % N& f# x7 I j7 J( q
如果你将来从事核武器控制之类的软件设计,加上下面这两本书:
《 Exceptional C++ 》和《 More Exceptional C++ 》
如果你从事 3D 游戏设计,那么程序的效率远比程序的安全更重要。上面两本书可以忽略。当然,基本的防范编程你应该了解。 * B3 c: `% Z# |# ^" a
$ q, Y& w# g' T; I- /% ]" `- F
研究阶段: ' p) E& a8 V$ w' G/ t
《 The Design and Evolution of C++ 》裘宗燕译本《 C++ 语言的设计和演化》
《 Inside The C++ Object Model 》候捷译本《深度探索 C++ 对象模型》
《 ISO/IEC 14882 》这是 C++ 语言的国际标准文件,它上面提到的所有 C++ 书籍的技术源头和归宿,也是解决各种 C++ 疑难问题的最高法律文件。 " c# L- p+ C5 P o0 F) A- r
上面的书籍并没有包括完所有的 C++ 优秀书籍。考虑到你的阅读时间和精力,我忽略掉了很多比较优秀的书。但是,如果你把上面这些书籍读完了,那么 C++ 的各种主流思想和先进技术就已经被你尽收眼底了。 5 _ R$ f. v4 [! w
3 ~# {) e; a3 D; { l$ z" u, [' R
个人建议:努力学会用 C++ 思考( Thinking in C++ ),而不是仅仅着眼于学会 C++ 的语法细节!这样你才不会在学习过程中走过多的弯路。 ! z+ j$ l/ h; C) J4 w8 m
2 {) w- F% i( V$ g) E, M
最后提醒你一句:上面的所有书籍都可以找到电子版,如果你囊中羞涩,那么这些电子版书籍可以解您燃眉之需。