说实话,我学完C以后进阶到C++的第一本书就是这本CP4。CP4确实是经典,但是它却不适合初学者,我当时读了大概有一半了,但是对很多东西还是一知半解。因为这本书是站在编译器的角度来写的,很多东西非常细节,事无巨细的论述对初学者一点好处也没有。初学者需要快速能先吸引眼球的东西。我比较推崇C++新手能先大致了解C++的各方面特性(注意是大致了解不是去抠细节),先有个感性认识再说,而且这样你也会觉得很有趣,不然那些复杂的细节真的会把你搞晕,让你对C++失去兴趣。
有心要学C++的朋友可以这样:先看一本入门读物,我推荐钱能的《C++程序设计教程》,大致看一遍,习题做一做,然后再把C++高级特性认真再复习一遍(类,继承,多态这三个最重要)。至于这本CP4可以当做参考书或者字典一样用,在语法上遇到什么问题或者编译有问题都可以再这本书里找答案,CP4是非常权威的,毕竟Lippman大大是第一个C++编译器的实现者之一。至于之后的进阶可以看看C++之父的《C++程序设计语言(特别版)》。如果对C++的底层实现有兴趣的话可以看看Lippman的《Inside the C++ Object Model》(深度探索C++对象模型),这本书比较难理解,可能要花点时间。如果想用VC++做开发工具的朋友,侯捷的《深入浅出MFC》一定不能错过,看这书你可能会上瘾的(我就是这样)。孙鑫的VC++视频也可以看看。
另外,如果大家想学好C++,就一定要让自己对C++这门语言有兴趣,如果明明自己不喜欢,千万不要逼自己去学,这样没有好处。一旦你喜欢上了C++,你还怕学不好它吗?再次提醒:第一次接触C++的人千万不要去死扣那些非常细节的东西,一定要先从大局上把握C++,细节问题以后再了解一点也不迟。
可能跟楼主感觉不太一样,我是大一下学期就看了CP4(上学期跟着学校学的C),而且当时一口气看到了模板那一章,中间的练习题不说全做,至少自己独立做了百分十八九十,感觉收获非常多。个人非常喜欢里面那些细节,让我有种不仅知其然,而且知其所以然的畅快感(而且愈发反感国内教材~~~)。刚开始啃得特别慢,记得vector容器4页内容看了俩小时,后面熟悉了概念以后,慢慢就快了。还是很有收获的,所以我觉得只要自己觉得开心,想怎么看就怎么看喽,不存在什么适合不适合看的。
因为lz大部分内容说得很有道理,本来我是点“有用”的。但是由于lz推荐了钱能而且可能会把很多新手吓走,现在我还是改成“没用”了。
说两点:
如果你有一定c基础(就是学校里面学的就够),完全可以从这本入门c++;或者你没有c基础,但是有一定编程经验(面向对象语言更佳),也可以从这本入门c++;又或者你是在校生,配合课程使用,仍然可以从这本入门c++,就是略有难度。
如果不满足上面条件,c的书籍我推荐c primer plus,c++也有很多入门好书,像accelerated c++,还有c++之父那本新书,总之切记,不要用任何国内教材。
《C++ primer》很适合初学者的好吧,第五版已经出来了,虽然是英文版,看起来比较困难,但是也有很多帮助阅读的改进,特别是有边栏的图标引导,感觉看起来流畅很多,有些不必要纠结的地方图标也有了标示,可以一扫而过,非常赞~~ 期待七月第五版的中文版~~
c++也好java也好python php也好,重要的是懂得oop的思想,而不是单纯的会几种语法几种design pattern就算懂的。思想才是oop的精髓
其实我觉得有些C基础而且真想学C++的话还是直接上CP4,从头开始看,真没那么难的。
不过如果想从头到尾看完这本书,甚至只是想把一章完整的看完,都是挺困难的。我的建议是每章看开头一部分,边看边思考这些新语言特性能够让我做些什么,一旦觉得自己已经可以由已经学来的语言特性写一些代码的时候,立刻去实现它。反正我是边看边写把这本书基本学完了,而且经常在写的时候遇到问题,想要有一些新的工具,然后去书上找,还真有!这样的感觉是很好的~
至于钱能什么的,想应付考试可以看看……想认真学C++的话完全可以跳过
严重同意楼主:
如何成为一个C++高级程序员[劲草点评]
http://www.cnblogs.c
这书里面的代码质量 明显好过国内的(国内的c++教材 代码风格大多数都是c风格的)
另外我先看的是c大学教程 和 c++大学教程第6版(代码没有primer好 差很多 优点是习题相当牛x)
VC还是别学6.0(6.0当时还没有标准c++ 很多高级点得东西都用不上 绝对严重限制你的思维)6.0的书 只能当做参考 有什么不懂的可以拿来翻翻
最主要是看人的耐心,以及找到适合自己的阅读习惯。我也曾想把此书从头至尾通读,无奈老是中断。后来就捡自己觉得重要的那几章重点看,这样遇见了其他问题了再翻阅其他章节。感觉此书确实太厚,细节太多,对一些人来说不适合作为第一本
这么厚的一本书,没有耐心是很难坚持看完的,特别学完钱能那本书后,不看这本书也能学VC++,MFC深入浅出,所以学习的动力不是很强,我现在还是决定耐着性子从头至尾学一遍,学完后,下阶段就考虑看编译原理。
我比较推崇C++新手能先大致了解C++的各方面特性(注意是大致了解不是去抠细节),先有个感性认识再说,而且这样你也会觉得很有趣,不然那些复杂的细节真的会把你搞晕,让你对C++失去兴趣。
--------------------------------------------------------------------------------
在这一点,<Accelerated C++>比钱能那本书好多了
--------------------------------------------------------------------------------
确实,我C++也是从Accelerated C++这本开始的,个人觉得不错
我到觉得,刚开始学习C++的时候要注意语法细节,如果一开始就不注意去理解语法细节,到后来能写程序时就更不会注意语法细节了,反而会觉得C++的语法怎么那么复杂。
我比较推崇C++新手能先大致了解C++的各方面特性(注意是大致了解不是去抠细节),先有个感性认识再说,而且这样你也会觉得很有趣,不然那些复杂的细节真的会把你搞晕,让你对C++失去兴趣。
--------------------------------------------------------------------------------
在这一点,<Accelerated C++>比钱能那本书好多了