大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C++技巧 > 编程及C/C++初学者常见问题(FAQ)

编程及C/C++初学者常见问题(FAQ)(13)

关键词:编程C/C++初学者FAQ常见问题  阅读(5278) 赞(32)

[摘要]本文意在集中解决新手学习C/C++语言时将遭遇到的各类问题,本文主要分析概念原理和解决方案,不讨论具体程序语法,立足于让初学者能运行起第一个程序。其他事宜如解释入门语法等本文基本不涉及。
以Stanley B.Lippman,Josee LaJoie,Barbara E.Moo的《c++ primer》作字典和课外读物,因为太厚不可能一口气看完,当然你也可以用它作为主力教材。Lippman说过了,Josee LaJoie是C++标准委员会原负责人,Barbara E.Moo 是独立咨询顾问,参与了第一个使用C++编写的商业产品的开发,领导了公司中第一个C++编译器项目。

   C++之父Bjarne Stroustrup的《the c++ programming language》,简称BS的TCPL,全面而深入的书,缺点也是太厚。

   这个阶段 也可以延用前阶段Detiel父子的教材。

   level 2 这个阶段就要养成好习惯

   然后从Scott Meyers的《effective c++》开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻

   接着是 Herb Sutter的《exceptional c++》。此人是C++标准委员会的主席,主席说话,谁有异议。

   顺下来就是Scott Meyers的《more effective c++》和Herb Sutter的《more exceptional c++》,请熟读并牢记各条款

   level 3 这个阶段 把C++的类搞透

   Stanley B.lippman的《insied the c++ object model》(深度探索C++对象模型)看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象。

   看完上一本之后,这本Bjarne Stroustrup的《The design and evolution of c++》(C++的设计与演化)会重演一次当年C++他爹在设计整个语言过程中的历程。

   Stephen C. Dewhurst的《C++ Gotchas: Avoiding Common Problems in Coding and Design》(C++程序设计陷阱)会帮你在设计层面避免错误。

   level 4 这个阶段深入STL吧

   Nicolai M.Josuttis的《the c++ standard library》(C++标准程序库—自修教程与参考手册) 是stl的字典,什么都可以查得到。

   Scott Meyers的《effective stl》,它和圣经一样是你日常行为的规范。发现没有,Scott Meyers先生一直在搞effective系列。

   Matthew H. Austern的《generic programming and the stl》(泛型编程与STL)让你从OO(面向对象)向GP(泛型编程)转变。

   光用不行,我们还有必要了解stl的工作原理,那么侯捷的 《stl源码剖析》会解决你所有的困惑。

   level 5 彻底掌握模版泛型编程

   对于c++无非是OO和GP,想进一步提升OO,Herb Sutter的《exeptional c++ style》是一本主席这么多年的经验之谈,是很长esp的。

   一位stl高手是不能不去了解template的,《c++ template》是一本百科全书,足够你看完后对于GP游刃有余。

   Andrei Alexandrescu的《modern c++ design》是太过聪明的人写给明眼人看的。

   level 6

   这个时候,对于C++语法本身,你应该是已经到了随心所欲的境界,你所要练习的大概就是大规模的C++程序的设计以及一些通用的高效库的使用,以及为什么要这样做的理由。

   所以,《C++ 输入输出流及本地化》《C++ Network Programming》《大规模C++程序设计》是你需要的。

   同时,C++教材中的异类:Barbara E.Moo和Andrew Koenig的《Ruminations On C++》(C++ 沉思录)是值得你一看的,他集中反映了C++的关键思想和编程技术,说明了C++是什么样的以及能够做些什么,不仅告诉你如何编程,还告诉你为什么要这样编程。本书曾出现在众多的C++专家推荐书目中。

   和C一样,同样有最后一本书

   ISO+IEC+14882-1998 C++规范。这可不是宝典圣经,这就是C++的法律,一切疑问以此为准到此打住。不过,有个脚注,某些具体情况取决于编译器实现。

接下来是Windows编程

   至少在国内来说,Windows环境下的编程还是很有市场的。

   第一本书:Charles Petzold 的 《Programming Windows》(Windows程序设计)。

   如果说,在windows编程领域只能翻阅一本书的话,那就是他了。《Windows程序设计》由微软出版社在1988年首次出版,后来被认为是这方面最好的导论性读本。在1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《Windows Magezine》和Microsoft公司授予Windows Pioneer奖,以表彰他对Microsoft Windows的成功做出的贡献。这本书经典到这个程度,以至对于Windows程序员来说,“从Chares 的(Window程序设计)一书中寻找答案。”几乎成了一句至理名言。

   你可以在这个地方观看到他的外观,http://www.charlespetzold.com/pw5/,国内书店有售,电子版则需要仔细搜索。

   第二本:Jeffrey Richter 的《ProgrammingApplicationsforMicrosoftWindows》(Windows核心编程)和《Advanced Windows》(Windows 高级编程指南)

   和上面这本书难分伯仲。这么说吧,你读了之后就会后悔,后悔为什么没有早点读他。建议先看高级,再看核心。

   个人认为除非windows发生革命性的变化,否则看完这三本书,足以应付通常的Windows编程。

   上面三本书介绍的是直接使用WindowsAPI实现应用,总的来说那是一种很基础但很繁琐的方式。Windows下有很多的编程库可以使用,VC和BCB都自备了优良的库。

   在VC来说,存在版本的差异,如果是6.0版本,那么你基本只有MFC这一种选择,但对于2002以后的版本,包括新推出的2008,MFC、ATL、.net都不错。

   对于MFC。

   要学会怎么用,可以看一下这几本:

   



相关评论