迷路人,,寻找c++学习之路(问题很多!!懒人勿进,,无知者勿进)
1.c++有那些重要的部分,,(值得去深入学些的??)2.我已经看了一些c++入门的书(如:《youcandoit》《易学c++》《c++primerplus》)但是对c...
1.c++有那些重要的部分,,(值得去深入学些的??)
2.我已经看了一些c++入门的书(如:《you can do it》《易学c+
+》《c++primer plus》)但是对c++感觉还是不甚了解!,,主要是实践的少,,没有清晰的轮廓,,还是只有一些c++的概念,,没有对程序的具体认识。
我想知道如何学习一下windows编程(和网络编程)还有对c++的标准库基本没认识几个,,对于标准库(和其它库)如何学习,,了解,,能熟练的在程序中应用??(难道要都背下来么??还是看一遍,,有印象就行??)请写出具体的学习方法(注意,,是方法)还有需要看那些书??
3.很多人说学习c++要多看源码!,,但那里有一个完整的项目的源码呢,
而且对于没有注释的源码要如何看??(我的意思是看源码的经验!!)
4.我学习编写图形化程序,,有没有关于vc++的书好一点的(对于图形化编程讲得比较多的)
5.有没有什么书是写c++库的应用的(《c++命令详解》我有了)主要是标准库和非标准库的应用!!还有api手册,,库函数手册。。!!请写出具体的书名和出版社,,我在书店找了好长时间都没找到(新华也没有)
6.对于c++的发展趋势,,对于有一点基础的人来书该注意哪方面的技术?
7.如何保持一种积极的,,高热情的c++学习态度!!
8.有没有一些好的方法和经验!!多谢分享
9.问题很多,,请答题者海涵海涵!!
并感谢所有来解疑的朋友,,虽然拿分的只有一人,,但感激之情,,用不消散!!
最后要说的是我会继续加分的!!
1.看过msdn了,,很多资料都是英文的,,(看不懂)
该如何充分利用起msdn呢??
2.有没有c++手册一类的书(非教学书,,是工具书)。。就是
查查概念,,函数。。api什么的,,类似词典的书,,(详细书名,,出版社) 展开
2.我已经看了一些c++入门的书(如:《you can do it》《易学c+
+》《c++primer plus》)但是对c++感觉还是不甚了解!,,主要是实践的少,,没有清晰的轮廓,,还是只有一些c++的概念,,没有对程序的具体认识。
我想知道如何学习一下windows编程(和网络编程)还有对c++的标准库基本没认识几个,,对于标准库(和其它库)如何学习,,了解,,能熟练的在程序中应用??(难道要都背下来么??还是看一遍,,有印象就行??)请写出具体的学习方法(注意,,是方法)还有需要看那些书??
3.很多人说学习c++要多看源码!,,但那里有一个完整的项目的源码呢,
而且对于没有注释的源码要如何看??(我的意思是看源码的经验!!)
4.我学习编写图形化程序,,有没有关于vc++的书好一点的(对于图形化编程讲得比较多的)
5.有没有什么书是写c++库的应用的(《c++命令详解》我有了)主要是标准库和非标准库的应用!!还有api手册,,库函数手册。。!!请写出具体的书名和出版社,,我在书店找了好长时间都没找到(新华也没有)
6.对于c++的发展趋势,,对于有一点基础的人来书该注意哪方面的技术?
7.如何保持一种积极的,,高热情的c++学习态度!!
8.有没有一些好的方法和经验!!多谢分享
9.问题很多,,请答题者海涵海涵!!
并感谢所有来解疑的朋友,,虽然拿分的只有一人,,但感激之情,,用不消散!!
最后要说的是我会继续加分的!!
1.看过msdn了,,很多资料都是英文的,,(看不懂)
该如何充分利用起msdn呢??
2.有没有c++手册一类的书(非教学书,,是工具书)。。就是
查查概念,,函数。。api什么的,,类似词典的书,,(详细书名,,出版社) 展开
14个回答
展开全部
都是些大而空的答案,“去看×××”,怎么看?以前别人也叫我看可是看了
也没见有啥用处。以前我大二时,也是被推荐看c++primer,看c++编程思想,
可毕业后呢?全忘光光,因为这东西基本就是面试笔试用的,平时也用不上。
再说,你要是不工作,哪能天天接触项目去编程。编程就是在实践中在工作中
提高的。 得来点确实可行的才行,光说“多练”,全是废话。
1.重要组成部分,对我们来说,首先就是面向过程编程,基本类似于c语言那
套老把戏,然后就是面向对象部分,类啊,类的继承啊,虚拟类啊,函数的重
载啊,对象内部机制(可以看 深入c++对象模型,这才正经该看的),然后就
是STL(标准模板库),接着就是数据结构,然后就是结合操作系统编程了。
2.别的不知道,反正易学c++我看过。之所以感觉还不甚了解,我猜你仅仅是
把这些书当作课本教材来看的。编程初学者看书应该是敲书,树上的核心重要
代码,比如继承啊,重载啊这些代码都要自己亲自敲一遍,运行一下才算,不
然看了书效果也很苍白。合上书貌似自己啥都懂,实际上还是啥都不懂
解决方法:把书上重要章节的程序亲手实践!尽量编写书后习题要求的程序!
Windows和网络编程不建议现在学。现在要把c++标准库中的头文件熟悉了再说
。实际上你看标准库里头文件暴多,实际上常常用的不超过三五个,
iostream,string 啥的,其他都很少用。真正用到的时候再去查。就记着常用
的几个就行了。多照着树上敲程序,敲多了,自然知道那几个常用了,不用记
也记住了。 至于windows编程,有一套《windows程序设计》很经典,但是太
厚太啰嗦,加起来千页,看完了对编程一点兴趣也没了。解决方法就是跳着看
,内容多,难度小,浏览着看大概有个印象就OK。《VC技术内幕》这个书不错
,应该好好看看。
3.说要看源码是对高手说的,要想要项目,啥都不说你得到 程序员联合开发
网www.pudn.com.cn 里去找。这里很多项目,源码,只是你要注册一个号。项
目代码如果是windows的,那都是成千上万行,而且系统自己生成就能有个千
把行,咋看?
解决办法:先学windows编程,参见第二条,这学会了,学MFC,再学会了,就
能挑出来源代码哪些是框架,哪些是核心,只用看核心就行了。表皮代码不看
。
4。vc的书乱七八糟多了去了,侯捷深入浅出mfc很好很啰嗦。不过还是得推荐
,这书不错。另外就是找孙鑫的书,最大的好处就在于他有配套免费视频教程
,很详细,一集一集在实践中学习,效果好。
5.之所以找不到,就是因为这东西真正用到的库函数就那几个,io,文件操作
,其他没啥了,api更不用谈,标准c++有什么api好查的,等你学windows编程
才会发现那真该查api,就查msdn电子版
6.刚有点基础,根本不必关心其发展趋势。数学物理化学每年都有新发展新突
破,也没见小学生中学生教材有啥改变。你就是编程序,照着书上敲程序才是
最重要的
7.就是多实践多编程,你想你成天看书不动手,看了一年,一点成果也没有,
那咋会还有热情??看孙鑫那个教程,动手编程,照着书上敲,敲多了自己就
会敲,编个计时器啊,钟表啊,这就是成果,成果有了你怕没热情??
最怕的就是不动手,时间长了肯定没热情,因为啥成果都没有。
8.经验和建议:
实际上你要做的,就是先看看windows编程。去学习如何使用MSDN来学习WIN32
API 函数,说白了就是使用vc中的MFC架构。去gougou上搜 孙鑫 二字,有视
频,跟着学就是了,学的差不多了,就去买一本清华大学的《数据结构》看。
把里面的伪代码都给实现了,然后再准备学习数据库,操作系统。学习这些科
目的时候,也要循序渐进。学校里都是教理论,实际上还有很大的实践空间可
以发挥,那就是把每章后面的题都实践一下。
接着你就可以进行小规模的“开发”了,等加入到工作中实践中项目中,这时
候再去边做事边看《c++ primer》 thinking in c++ 差不多会有些收获。
不建议你现在看,看了也没用,而且浪费钱,还暴贵。
总之我建议你先走上面的路,慢慢可以着手做东西了,这样心里也有满足感,
再去搞高深的c++ primer什么的,会比较好。否则几天下来就被打击的不行了
9.没啥。用了我十几分钟。。。洗头去了。。
补充:
1.msdn看不懂肯定看不懂,先学windows编程,就看我刚给你推荐的书,然后
再去看孙鑫,再去学用msdn,老孙会教你,你看他咋用的,自己就会了
2.手册和工具书用不到。多编程,书上程序多动手实践。 出版社出书得有人
买。标准c++有什么函数好罗列的,就那几个,咋出书。
真想查概念,baidu搜就是了。
也没见有啥用处。以前我大二时,也是被推荐看c++primer,看c++编程思想,
可毕业后呢?全忘光光,因为这东西基本就是面试笔试用的,平时也用不上。
再说,你要是不工作,哪能天天接触项目去编程。编程就是在实践中在工作中
提高的。 得来点确实可行的才行,光说“多练”,全是废话。
1.重要组成部分,对我们来说,首先就是面向过程编程,基本类似于c语言那
套老把戏,然后就是面向对象部分,类啊,类的继承啊,虚拟类啊,函数的重
载啊,对象内部机制(可以看 深入c++对象模型,这才正经该看的),然后就
是STL(标准模板库),接着就是数据结构,然后就是结合操作系统编程了。
2.别的不知道,反正易学c++我看过。之所以感觉还不甚了解,我猜你仅仅是
把这些书当作课本教材来看的。编程初学者看书应该是敲书,树上的核心重要
代码,比如继承啊,重载啊这些代码都要自己亲自敲一遍,运行一下才算,不
然看了书效果也很苍白。合上书貌似自己啥都懂,实际上还是啥都不懂
解决方法:把书上重要章节的程序亲手实践!尽量编写书后习题要求的程序!
Windows和网络编程不建议现在学。现在要把c++标准库中的头文件熟悉了再说
。实际上你看标准库里头文件暴多,实际上常常用的不超过三五个,
iostream,string 啥的,其他都很少用。真正用到的时候再去查。就记着常用
的几个就行了。多照着树上敲程序,敲多了,自然知道那几个常用了,不用记
也记住了。 至于windows编程,有一套《windows程序设计》很经典,但是太
厚太啰嗦,加起来千页,看完了对编程一点兴趣也没了。解决方法就是跳着看
,内容多,难度小,浏览着看大概有个印象就OK。《VC技术内幕》这个书不错
,应该好好看看。
3.说要看源码是对高手说的,要想要项目,啥都不说你得到 程序员联合开发
网www.pudn.com.cn 里去找。这里很多项目,源码,只是你要注册一个号。项
目代码如果是windows的,那都是成千上万行,而且系统自己生成就能有个千
把行,咋看?
解决办法:先学windows编程,参见第二条,这学会了,学MFC,再学会了,就
能挑出来源代码哪些是框架,哪些是核心,只用看核心就行了。表皮代码不看
。
4。vc的书乱七八糟多了去了,侯捷深入浅出mfc很好很啰嗦。不过还是得推荐
,这书不错。另外就是找孙鑫的书,最大的好处就在于他有配套免费视频教程
,很详细,一集一集在实践中学习,效果好。
5.之所以找不到,就是因为这东西真正用到的库函数就那几个,io,文件操作
,其他没啥了,api更不用谈,标准c++有什么api好查的,等你学windows编程
才会发现那真该查api,就查msdn电子版
6.刚有点基础,根本不必关心其发展趋势。数学物理化学每年都有新发展新突
破,也没见小学生中学生教材有啥改变。你就是编程序,照着书上敲程序才是
最重要的
7.就是多实践多编程,你想你成天看书不动手,看了一年,一点成果也没有,
那咋会还有热情??看孙鑫那个教程,动手编程,照着书上敲,敲多了自己就
会敲,编个计时器啊,钟表啊,这就是成果,成果有了你怕没热情??
最怕的就是不动手,时间长了肯定没热情,因为啥成果都没有。
8.经验和建议:
实际上你要做的,就是先看看windows编程。去学习如何使用MSDN来学习WIN32
API 函数,说白了就是使用vc中的MFC架构。去gougou上搜 孙鑫 二字,有视
频,跟着学就是了,学的差不多了,就去买一本清华大学的《数据结构》看。
把里面的伪代码都给实现了,然后再准备学习数据库,操作系统。学习这些科
目的时候,也要循序渐进。学校里都是教理论,实际上还有很大的实践空间可
以发挥,那就是把每章后面的题都实践一下。
接着你就可以进行小规模的“开发”了,等加入到工作中实践中项目中,这时
候再去边做事边看《c++ primer》 thinking in c++ 差不多会有些收获。
不建议你现在看,看了也没用,而且浪费钱,还暴贵。
总之我建议你先走上面的路,慢慢可以着手做东西了,这样心里也有满足感,
再去搞高深的c++ primer什么的,会比较好。否则几天下来就被打击的不行了
9.没啥。用了我十几分钟。。。洗头去了。。
补充:
1.msdn看不懂肯定看不懂,先学windows编程,就看我刚给你推荐的书,然后
再去看孙鑫,再去学用msdn,老孙会教你,你看他咋用的,自己就会了
2.手册和工具书用不到。多编程,书上程序多动手实践。 出版社出书得有人
买。标准c++有什么函数好罗列的,就那几个,咋出书。
真想查概念,baidu搜就是了。
展开全部
《c++高级参考手册》
《c++程序设计》
《c应用程序设计》
《c++程序设计》
《c应用程序设计》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
曾经有一个人写了这个东西,我觉得有些道理,就贴出来吧
C++/OPP/OOD系列:
层级一:语法/语意(C++)
[Lippman2000] Essential C++
Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages
Essential C++ 中文版 ,侯俊杰 译,282页
[Gregory95] C++:The Core Language
C++:The Core Language by Gregory Satir 1995 O'Reilly
C++语言核心,张铭泽 译 ,236页
[Deitel98] The Complete C++ Training Course
The Complete C++ Training Course 2/e by Harvey M.Deitel 1998 Prentice Hall
C++大学教程(第二版),邱仲潘等 译,816页
[Stevens2000] Standard C++ Bible
Standard C++ Bible 2000 Al Stevens IDG
标准C++宝典,林丽闽等 译,766页
[Eckel2000] Thinking in C++
Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall
C++ 编程思想,刘宗田等 译,420页
[Lippman98] C++Primer
C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie
Addison Wesley Longman,1998 1237 pages
C++ Primer 中文版,侯俊杰 译,1999,1237页
[Struostrup2000] The C++ Programming Language
The C++ Programming Language,Special Editoin,by Bjarne Stroustrup
Addison Wesley Longman,2000,1017 pages
C++程序语言经典本,叶秉哲 译,儒林 1999
[ANSI C++] C++规格书 1998.9.1 PDF格式
ANSI C++ 1996 Draft
层级二:专家经验(C++/OOP)
[Meyers96] More Effective C++
More Effective C++,by Scott Meyers,Addison Wesley,1996,318pages
More Effective C++中文版,侯俊杰,培生 2000. 318页
[Meyers98] Effective C++
Effective C++,Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages
Effective C++ 2/e 中文版,侯俊杰,培生 2000.256页
[Sutter99] Exceptional C++
Exceptional C++,by Herb Sutter,Addison Wesley Longman,2000.208pages
Exceptional C++中文版,侯俊杰,培生 2000.248页
[Sutter2001]More Exceptional C++
More Exceptional C++ by Herb Sutter,Addison Wesley Longman,2001.
层级三:底层机制(C++ Object Model)
[Ellis90] The Annotated C++ Reference Manual
The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup
Addison Wesley Longman,1990,447 pages.
[Lippman96] Inside the C++ Object Model
Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages
深度探索C++物件模型,侯俊杰 译
层级四:设计观念的复用(C++/Patterns)
[Gamma95] Design Patterns:Elements of Reusable Object Oriented Software,
by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages
设计模式,李英军等译,机械工业出版社,2000.254页
[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied
by Andrei Alexandrescu,Addison-Wesley,2001,352Paper
Genericity/STL系列:
第一个境界是使用STL:
[Josuttis99]:The C++ Standard Library -A Tutorial and Reference,by Nicolai M.Josuttis,
Addison Wesley 1999.799pages
第二个境界是了解泛型技术的内涵与STL的学理:
[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard
Template library,by Matthew H.Austern,Addison Wesley 1998.548page
第三个境界是扩充STL:
[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,
Meng Lee,David R.Musser,Prentice Hall 2001
这些就是你应该看的书,如果你想成为高手。
兴奋吧,可是我要告诉你:
第一、你不一定能看完。
第二、你看完了也成不了高手。
这些书我看了一些,结果头晕脑胀没什么成果,原因就是自己的基础太差,我感觉如果你现在还没编写过一个至少有五千行语句的软件,那么你什么都不用看,我保证你看了也什么都不懂,或者懂了也用不上,你想一个几百行的小软件用得上几个库函数?要类又有个屁用,几下就搞定了。
但是当你的程序超过1000行以后,你就会发现如果不用库函数,不用类,不用C++标准函数,你基本就编不下去了,那真叫长啊,检查一遍比编写一遍还难,有时一个循环或类型的小错误根本就查不出来,甚至有的时候只好重新编写一遍,这时你再看《C++编程思想》,人家前几页就写明白了——只要C++有标准函数的你就别自己写,尽量用C++的,这话看似废话,可当你真编写5000行时,你就会体会到,真是至理名言啊,自己怎么就这么笨,什么排序,什么动态数组,什么矩阵的都自己编,简直傻死了,然后自觉地用函数去改造自己的程序,1000行瞬间变成600-700行,再用类去改造,主程序可能就剩几十行,而且相似问题今后还可以通用。
在改造的过程中你还会掌握大量的技术和技巧,当你的程序从几千行缩减为几百行时,你就基本掌握了C++的思想——面向对象的模块化编程。
其实学C++最大优势就是你不用管函数内部运行过程,只要用就行了,这就像数学定理和公式一样——你不用管公式或定理对不对,它的证明自有前人去完成。永远记住你只是一个C++的使用者而不是开发者。你学习C++不是为了帮微软增加C++的功能,而是使用它达到自己的目的。所以那些API函数最好也不要去学,太多太杂了,你想微软里上千甚至上万人搞这个,你就一个人搞,你能搞出什么,所以学习一下MFC就可以了,C++的精髓不在于编写一个可视化的程序,这也不是它的强项,如果你想搞这个还不如学一下VB,C++的精髓在于它的标准化库函数和前人积累下来的无数的现成程序,更在于它的面向对象的编程思想。
对于解决特定问题,利用C编写的现成程序远多于VB和JAVA,也就是说c/c++的资源要远多于后者(当然这也分情况,网络编程和数据库JAVA就很强),所以你学习C++的目的不应该是帮微软开发C++的新功能或者掌握那些乱七八糟的API函数,而是利用现有的丰富资源快速开发完自己的程序。
所以学习C++的一大障碍就是学习目的不明,其中主要原因就是看了网上某个高手吹嘘了一下自己掌握了多少多少句柄函数,编写了什么什么库函数,然后就羡慕的不行了,然后自己也立志一定要掌握多少高深技术,或者也要编写一个属于自己的库,或者自己编程序实现一个什么功能。
这就像古人学习“屠龙术”一样,这种武工确实高深,确实难练,可世上本无龙,你又去屠谁呢?
目的不明的一大表现的就是贪多求快,C还没用明白,就去研究STL,STL研究一半又去看MFC的函数,看了一点MFC又觉得API函数不学不行,API基本上一看就感觉乱七八糟——一个变量的名字那么长,看了后面忘前面,介绍这些知识的书一会儿让你参考程序员手册,一会儿让你参考函数手册,这些手册介绍到特定知识又列出一堆参考书,结果就是书卖的越来越多,知识却没怎么见张。等看到最后又发现面向对象的编程没学好,好多基础的东西理解不了,然后又买一堆类似<<C++primer>>、《C++编程思想》、《C++从入门到精通》的书重头学起,可经过这么一折腾又有几个人还乐意学习C++呢?毅力再强的人也被折腾烦了。
所以坚持不住一大主要原因就是学习目的不明,学习目的不明的主要原因就是对C++的精髓认识不深,认识不深的主要原因就是没用C++编写过什么大的程序,其实刚开始都这样,编个学生成绩排名表就认为自己掌握了类,掌握了函数,指针,链表等好多知识,实际上你还是什么都不懂。C++的知识博大精深,你想学精通的那几样都是微软或者C++标准委员会等成千上万的科学家花了数十年的功夫才慢慢积累起来的财富,你想一下精通又谈何容易,所以劝你先打好基础,然后抓住一样学,如果你想学STL对于MFC只要大致了解一下就行了,至于API基本上没有精通的可能性,也没必要,人家微软都在软件中集成好了,你也没必要再走一边吧(当然你毅力、耐力和智力都属于超强型,并立志在软件业有所突破,那你可能学成)。
打好基础的关键在于编写程序,这没什么可说,我做的就是到百度上找,看谁出的分高就替谁编程序,毕业设计等高难度的优先考虑,我专门帮人完成遗传算法,随机数之类的作业,当然我不仅提供编程思想,同时也提供完整程序。然后拿到分数,这算是我保持编程热情地一个方法吧。
至于书,我目前完整看完的只有清华的那本《C++程序设计》_谭浩强_2004,但看过的书无数,都是随用随看的,你手上的那本《c++命令详解》就很不错,在编写算法程序的过程中帮了我大忙,至于STL我也没深入研究过,只是熟练的掌握了vector,其他的都是随用随看(effective stl 就不错),不行就上网找,只要耐心不管什么问题都能找到,尽量用别人编好的现成程序,自己尽量只做这些功能的应用,程序随时保持高度的模块化,功能保持随时删减的状态。
C++的精髓就在于前人积累下的丰富资源和面向对象的编程思想和它那严谨的语法风格,用好这些你就能成为高手了,不用学一些百年难得一用的知识。
另外,千万别迷信一些人所谓的“看书一定要看英文原版”,这是不可取的,想一想你到底是学英语还是学C++,现在的翻译水平挺高的,而且外国人写书一向啰里啰唆,一个小屁问题可能能引伸到他们家的狗身上,而且本来看明白了,结果一看它的例子又糊涂了,总让你参考这参考那,就没一件事从头到尾说完整。
可是一些高水平的译文就解决了这些问题,而且讲问题的方式更符合中国人的阅读习惯,学习效率更高。
我就不爱看侯捷的书——讲一个函数,你讲一讲它的用法,讲一讲注意问题,再给两个例子就可以了,就像MSDN里一样,可他非得从根上讲起,把整个程序都列出来,结果三百多页的书一半是代码还没什么中文注释,这些代码我基本也不用。而且他的做法本身就违背了C++面向对象变成的原则,C++的最大优势就在于你不用管类的具体运作过程,直接用就行了,可他非得把运作过程讲的非常清楚(这也是编程书籍的一大通病)。
这就像你在向别人介绍你的朋友时,你用从他们家明朝那代开始介绍吗?
相反,百度上的一些网友在介绍功能时就是给出头文件,函数语法然后再加两个例子,简单明了。所以你真想学的话与其买书还不如多上百度和MSDN一类的网站,随用随学就可以。
你想学网络方面的编程的话,建议你买一本linux详解一类的书,这些书里详细列举了linux的内核程序,当然也包括了网络方面的,而且每一行都有中文注释,你只要照着编就行了。
最后告诉你的是,C++方面的书已经在网上泛滥了,你在迅雷上一搜能下上几个G的书,根本不用去书店,另外如果你出的起分的话,在百度上或淘宝上你可以找到你需要的任何书,你也可以经常上一下研学论坛和博研图书互助联盟。
C++/OPP/OOD系列:
层级一:语法/语意(C++)
[Lippman2000] Essential C++
Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages
Essential C++ 中文版 ,侯俊杰 译,282页
[Gregory95] C++:The Core Language
C++:The Core Language by Gregory Satir 1995 O'Reilly
C++语言核心,张铭泽 译 ,236页
[Deitel98] The Complete C++ Training Course
The Complete C++ Training Course 2/e by Harvey M.Deitel 1998 Prentice Hall
C++大学教程(第二版),邱仲潘等 译,816页
[Stevens2000] Standard C++ Bible
Standard C++ Bible 2000 Al Stevens IDG
标准C++宝典,林丽闽等 译,766页
[Eckel2000] Thinking in C++
Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall
C++ 编程思想,刘宗田等 译,420页
[Lippman98] C++Primer
C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie
Addison Wesley Longman,1998 1237 pages
C++ Primer 中文版,侯俊杰 译,1999,1237页
[Struostrup2000] The C++ Programming Language
The C++ Programming Language,Special Editoin,by Bjarne Stroustrup
Addison Wesley Longman,2000,1017 pages
C++程序语言经典本,叶秉哲 译,儒林 1999
[ANSI C++] C++规格书 1998.9.1 PDF格式
ANSI C++ 1996 Draft
层级二:专家经验(C++/OOP)
[Meyers96] More Effective C++
More Effective C++,by Scott Meyers,Addison Wesley,1996,318pages
More Effective C++中文版,侯俊杰,培生 2000. 318页
[Meyers98] Effective C++
Effective C++,Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages
Effective C++ 2/e 中文版,侯俊杰,培生 2000.256页
[Sutter99] Exceptional C++
Exceptional C++,by Herb Sutter,Addison Wesley Longman,2000.208pages
Exceptional C++中文版,侯俊杰,培生 2000.248页
[Sutter2001]More Exceptional C++
More Exceptional C++ by Herb Sutter,Addison Wesley Longman,2001.
层级三:底层机制(C++ Object Model)
[Ellis90] The Annotated C++ Reference Manual
The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup
Addison Wesley Longman,1990,447 pages.
[Lippman96] Inside the C++ Object Model
Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages
深度探索C++物件模型,侯俊杰 译
层级四:设计观念的复用(C++/Patterns)
[Gamma95] Design Patterns:Elements of Reusable Object Oriented Software,
by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages
设计模式,李英军等译,机械工业出版社,2000.254页
[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied
by Andrei Alexandrescu,Addison-Wesley,2001,352Paper
Genericity/STL系列:
第一个境界是使用STL:
[Josuttis99]:The C++ Standard Library -A Tutorial and Reference,by Nicolai M.Josuttis,
Addison Wesley 1999.799pages
第二个境界是了解泛型技术的内涵与STL的学理:
[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard
Template library,by Matthew H.Austern,Addison Wesley 1998.548page
第三个境界是扩充STL:
[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,
Meng Lee,David R.Musser,Prentice Hall 2001
这些就是你应该看的书,如果你想成为高手。
兴奋吧,可是我要告诉你:
第一、你不一定能看完。
第二、你看完了也成不了高手。
这些书我看了一些,结果头晕脑胀没什么成果,原因就是自己的基础太差,我感觉如果你现在还没编写过一个至少有五千行语句的软件,那么你什么都不用看,我保证你看了也什么都不懂,或者懂了也用不上,你想一个几百行的小软件用得上几个库函数?要类又有个屁用,几下就搞定了。
但是当你的程序超过1000行以后,你就会发现如果不用库函数,不用类,不用C++标准函数,你基本就编不下去了,那真叫长啊,检查一遍比编写一遍还难,有时一个循环或类型的小错误根本就查不出来,甚至有的时候只好重新编写一遍,这时你再看《C++编程思想》,人家前几页就写明白了——只要C++有标准函数的你就别自己写,尽量用C++的,这话看似废话,可当你真编写5000行时,你就会体会到,真是至理名言啊,自己怎么就这么笨,什么排序,什么动态数组,什么矩阵的都自己编,简直傻死了,然后自觉地用函数去改造自己的程序,1000行瞬间变成600-700行,再用类去改造,主程序可能就剩几十行,而且相似问题今后还可以通用。
在改造的过程中你还会掌握大量的技术和技巧,当你的程序从几千行缩减为几百行时,你就基本掌握了C++的思想——面向对象的模块化编程。
其实学C++最大优势就是你不用管函数内部运行过程,只要用就行了,这就像数学定理和公式一样——你不用管公式或定理对不对,它的证明自有前人去完成。永远记住你只是一个C++的使用者而不是开发者。你学习C++不是为了帮微软增加C++的功能,而是使用它达到自己的目的。所以那些API函数最好也不要去学,太多太杂了,你想微软里上千甚至上万人搞这个,你就一个人搞,你能搞出什么,所以学习一下MFC就可以了,C++的精髓不在于编写一个可视化的程序,这也不是它的强项,如果你想搞这个还不如学一下VB,C++的精髓在于它的标准化库函数和前人积累下来的无数的现成程序,更在于它的面向对象的编程思想。
对于解决特定问题,利用C编写的现成程序远多于VB和JAVA,也就是说c/c++的资源要远多于后者(当然这也分情况,网络编程和数据库JAVA就很强),所以你学习C++的目的不应该是帮微软开发C++的新功能或者掌握那些乱七八糟的API函数,而是利用现有的丰富资源快速开发完自己的程序。
所以学习C++的一大障碍就是学习目的不明,其中主要原因就是看了网上某个高手吹嘘了一下自己掌握了多少多少句柄函数,编写了什么什么库函数,然后就羡慕的不行了,然后自己也立志一定要掌握多少高深技术,或者也要编写一个属于自己的库,或者自己编程序实现一个什么功能。
这就像古人学习“屠龙术”一样,这种武工确实高深,确实难练,可世上本无龙,你又去屠谁呢?
目的不明的一大表现的就是贪多求快,C还没用明白,就去研究STL,STL研究一半又去看MFC的函数,看了一点MFC又觉得API函数不学不行,API基本上一看就感觉乱七八糟——一个变量的名字那么长,看了后面忘前面,介绍这些知识的书一会儿让你参考程序员手册,一会儿让你参考函数手册,这些手册介绍到特定知识又列出一堆参考书,结果就是书卖的越来越多,知识却没怎么见张。等看到最后又发现面向对象的编程没学好,好多基础的东西理解不了,然后又买一堆类似<<C++primer>>、《C++编程思想》、《C++从入门到精通》的书重头学起,可经过这么一折腾又有几个人还乐意学习C++呢?毅力再强的人也被折腾烦了。
所以坚持不住一大主要原因就是学习目的不明,学习目的不明的主要原因就是对C++的精髓认识不深,认识不深的主要原因就是没用C++编写过什么大的程序,其实刚开始都这样,编个学生成绩排名表就认为自己掌握了类,掌握了函数,指针,链表等好多知识,实际上你还是什么都不懂。C++的知识博大精深,你想学精通的那几样都是微软或者C++标准委员会等成千上万的科学家花了数十年的功夫才慢慢积累起来的财富,你想一下精通又谈何容易,所以劝你先打好基础,然后抓住一样学,如果你想学STL对于MFC只要大致了解一下就行了,至于API基本上没有精通的可能性,也没必要,人家微软都在软件中集成好了,你也没必要再走一边吧(当然你毅力、耐力和智力都属于超强型,并立志在软件业有所突破,那你可能学成)。
打好基础的关键在于编写程序,这没什么可说,我做的就是到百度上找,看谁出的分高就替谁编程序,毕业设计等高难度的优先考虑,我专门帮人完成遗传算法,随机数之类的作业,当然我不仅提供编程思想,同时也提供完整程序。然后拿到分数,这算是我保持编程热情地一个方法吧。
至于书,我目前完整看完的只有清华的那本《C++程序设计》_谭浩强_2004,但看过的书无数,都是随用随看的,你手上的那本《c++命令详解》就很不错,在编写算法程序的过程中帮了我大忙,至于STL我也没深入研究过,只是熟练的掌握了vector,其他的都是随用随看(effective stl 就不错),不行就上网找,只要耐心不管什么问题都能找到,尽量用别人编好的现成程序,自己尽量只做这些功能的应用,程序随时保持高度的模块化,功能保持随时删减的状态。
C++的精髓就在于前人积累下的丰富资源和面向对象的编程思想和它那严谨的语法风格,用好这些你就能成为高手了,不用学一些百年难得一用的知识。
另外,千万别迷信一些人所谓的“看书一定要看英文原版”,这是不可取的,想一想你到底是学英语还是学C++,现在的翻译水平挺高的,而且外国人写书一向啰里啰唆,一个小屁问题可能能引伸到他们家的狗身上,而且本来看明白了,结果一看它的例子又糊涂了,总让你参考这参考那,就没一件事从头到尾说完整。
可是一些高水平的译文就解决了这些问题,而且讲问题的方式更符合中国人的阅读习惯,学习效率更高。
我就不爱看侯捷的书——讲一个函数,你讲一讲它的用法,讲一讲注意问题,再给两个例子就可以了,就像MSDN里一样,可他非得从根上讲起,把整个程序都列出来,结果三百多页的书一半是代码还没什么中文注释,这些代码我基本也不用。而且他的做法本身就违背了C++面向对象变成的原则,C++的最大优势就在于你不用管类的具体运作过程,直接用就行了,可他非得把运作过程讲的非常清楚(这也是编程书籍的一大通病)。
这就像你在向别人介绍你的朋友时,你用从他们家明朝那代开始介绍吗?
相反,百度上的一些网友在介绍功能时就是给出头文件,函数语法然后再加两个例子,简单明了。所以你真想学的话与其买书还不如多上百度和MSDN一类的网站,随用随学就可以。
你想学网络方面的编程的话,建议你买一本linux详解一类的书,这些书里详细列举了linux的内核程序,当然也包括了网络方面的,而且每一行都有中文注释,你只要照着编就行了。
最后告诉你的是,C++方面的书已经在网上泛滥了,你在迅雷上一搜能下上几个G的书,根本不用去书店,另外如果你出的起分的话,在百度上或淘宝上你可以找到你需要的任何书,你也可以经常上一下研学论坛和博研图书互助联盟。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实践是最重要的。找一本实例的书,对着例子一个个敲进去,再尝试去修改,运用,整合。遇到不懂的再回去看经典的著作。反复练习这样学得比较快,也有成就感
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最重要的是自己多编程。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你应该有点基础了,还是去看MFC和VC++的书吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询