一、
①基础知识(C 语言、标准库、文件、注册表、数据结构)
②高级知识(多线程、串口通讯、网口通讯、动态库、MFC、COM、ATL、ActiveX)
③专业知识(图像处理、多媒体、OpenGL、DirectShow、数据库、网络安全) <!-- google_ad_client = "pub-2030898976646910"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; //2006-12-11: hand google_ad_channel = "2992432615"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "008000"; //-->
二、
先花一个月时间学习基本C语言,然后再看林锐博士的高质量编程,最后才去看C++prime,thec++programminglanguage(一般作为参考书,比如调试时发现编译错误,但又觉得莫名其妙时!),看完这些,你基本会基于对象编程了!
接下来进入2阶段,这时,最好的例子是尝试实现封装C语言的字符处理函数,做一个字符串!
可以结合EffectiveC++/MoreEffectiveC++/ExceptionalC++一起看,这样下来,你对指针操作,异常处理,智能指针会有深入的理解!
这时,你基本上可以用c++工作了!
接下来,进入第三个阶段,面向对象的设计。
入门的例子就是结合VC一起学,研究MVC模式,最好提高功力的书就是深入浅出MFC,这本书关键是要看懂前面3章,懂得如何去按MVC模式封装底层的C语言,实现面向对象机制!同时,你还可以看有关STL的书,这方面的好书比较少,入门的书倒是比较多!这个阶段的关键在于理解如何结合语言特性和软件需求来设计!
接下来第4个阶段就是编写自己的系统库了,一般能进入这一境界的实在太少,这需要你懂太多知识!首先,你要基础理论知识比较扎实,按我的理解,无法独立完成一个小的核心操作系统和编译器的人和那种先天数学功底弱的人是没希望了!因为,当你抽象一个外部系统并建立自己的解决方案时,必然有现在还无法解决的问题,这时,你必然会对原有语言进行改进,更牛的人甚至是设计自己的硬件!呵呵,进入这一境界,才算入世了!这时,语言已融入你的思想,不再是语言控制你,而是你控制语言了!可惜,目前中国还没听说这号人出现,也许...
学C++和武侠里面的学剑差不多,大多数人只会用来劈材,少数人能够自立门派,为数不多的人能成为大师,至于心剑合一则是百年一遇!
最后,路漫漫其修远兮!
C++/OPP/OOD系列:
层级一:语法/语意(C++)
[Lippman2000]EssentialC++
EssentialC++,byStanleyB.LippmanAddisonWesleyLongman2000,276pages
EssentialC++中文版,侯俊杰译,282页
[Gregory95]C++:TheCoreLanguage
C++:TheCoreLanguagebyGregorySatir1995O'Reilly
C++语言核心,张铭泽 译,236页
[Deitel98]TheCompleteC++TrainingCourse
TheCompleteC++TrainingCourse2/ebyHarveyM.Deitel1998PrenticeHall
C++大学教程(第二版),邱仲潘等 译,816页
[Stevens2000]StandardC++Bible
StandardC++Bible2000AlStevensIDG
标准C++宝典,林丽闽等译,766页
[Eckel2000]ThinkinginC++
ThinkinginC++2/eBruceEckel20001470pagesPrenticeHall
C++编程思想,刘宗田等译,420页
[Lippman98]C++Primer
C++Primer,3rdEditoin,byStanleyLippmanandJoseeLajoie
AddisonWesleyLongman,19981237pages
C++Primer中文版,侯俊杰译,1999,1237页
[Struostrup2000]TheC++ProgrammingLanguage
TheC++ProgrammingLanguage,SpecialEditoin,byBjarneStroustrup
AddisonWesleyLongman,2000,1017pages
C++程序语言经典本,叶秉哲译,儒林1999
[ANSIC++]C++规格书1998.9.1PDF格式
ANSIC++1996Draft
层级二:专家经验(C++/OOP)
[Meyers96]MoreEffectiveC++
MoreEffectiveC++,byScottMeyers,AddisonWesley,1996,318pages
MoreEffectiveC++中文版,侯俊杰,培生2000.318页
[Meyers98]EffectiveC++
EffectiveC++,SecondEdition,byScottMeyers,AddisonWesleyLongman,1998.256pages
EffectiveC++2/e中文版,侯俊杰,培生2000.256页
[Sutter99]ExceptionalC++
ExceptionalC++,byHerbSutter,AddisonWesleyLongman,2000.208pages
ExceptionalC++中文版,侯俊杰,培生2000.248页
[Sutter2001]MoreExceptionalC++
MoreExceptionalC++byHerbSutter,AddisonWesleyLongman,2001.
层级三:底层机制(C++ObjectModel)
[Ellis90]TheAnnotatedC++ReferenceManual
TheAnnotatedC++ReferenceManual,byMargaretA.EllisandBjarneStroustrup
AddisonWesleyLongman,1990,447pages.
[Lippman96]InsidetheC++ObjectModel
InsidetheC++ObjectModel,byStanleyLippman,AddisonWesleyLongman,1996,280pages
深度探索C++物件模型,侯俊杰译
层级四:设计观念的复用(C++/Patterns)
[Gamma95]DesignPatterns:ElementsofReusableObjectOrientedSoftware,
byErichGamma,RichardHelm,RalphJohnson,andJohnVlissides,AddisonWesley,1995.395pages
设计模式,李英军等译,机械工业出版社,2000.254页
[Alex2001]ModernC++Design:GenericProgrammingandDesignPatternsApplied
byAndreiAlexandrescu,Addison-Wesley,2001,352Paper
Genericity/STL系列:
第一个境界是使用STL:
[Josuttis99]:TheC++StandardLibrary-ATutorialandReference,byNicolaiM.Josuttis,
AddisonWesley1999.799pages
第二个境界是了解泛型技术的内涵与STL的学理:
[Austern98]:GenericProgrammingandtheSTL-UsingandExtendingtheC++Standard
Templatelibrary,byMatthewH.Austern,AddisonWesley1998.548page
第三个境界是扩充STL:
[Stepanov2001]:C++StandardTemplateLibrarybyP.J.Plauger,AlexanderA.Stepanov,
MengLee,DavidR.Musser,PrenticeHall2001