我爱C++ 之 C++学习方法

vollin 2006-01-03 12:58:30
我爱C++之C++学习方法

C++是我的最爱,虽然我本人的水平也不高,但公司懂C++的人还少(大部分是C,但项目完全可以用C++来做的),
所以就想像传教士一样将C++传播到每一个同事的心中。
但C++是的确是一门难于学习的语言,初学时还可能带来N多的问题。
希望大家能够拿出自己的学习方法,讨论一下各种学习方法的优劣。
...全文
1055 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
stqstq 2010-05-29
  • 打赏
  • 举报
回复
C++的学习方法(不看完不要顶)
本人也不是什么国家一流大学出身,只是心血来潮,在学习之余想写点东西。
以下是我自己学C++的一点感受,其中可能带着一点偏见,请大家指出啊!
对于C的看法,只是我个人的看法,认为中国没有一本好一点的C的书。虽然潭的书卖了1000万册,但是在我学完C++书后,已经发现了11处有错误的地方。我这样的菜鸟都能找到错误,书也许真的不怎么样!
当然C这一门语言还是很不错的!我也学了两个月。
不过我认为C在中国没有一本好的教材。
对于C++我认为(也是个人的观点),没有必要先学C再学C++,在学习之前还是先看看一两个好一点的例子。在以前学的数学知识中(我自己自学了数学分析,也许学的深了一点),递归一块要好好看看。
而后找本写得全一点的书,好好读三遍。书很多,C++写的好的还是很多的。因为这是一门比较成熟的语言。对一字一句进行推敲,不要心急,慢慢学。认为自己的水平还可以后,看机械工业出版社出版的那本C++程序语言(特别版)裘宗燕翻译的,
看不懂的不要紧,慢慢来,因为那是C++最好的书,也是最权威的。
而后就是要多上机,多在机器上实现!
以下是程序员之家的一段(灌水):
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In 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++!
poonzsp 2006-01-07
  • 打赏
  • 举报
回复
a 门
karlfly 2006-01-07
  • 打赏
  • 举报
回复
哎,我和你处境一下啊...
vollin 2006-01-07
  • 打赏
  • 举报
回复
看样子总结一下各位的观点准备结贴吧:

1.sms88(我爱上了夏雪)
我就是看书.
看网络中的资料
就这些
==>理论指导实验。
2.piaochen_2002(飘尘)
看书,看书,看书...
写代码,写代码,写代码..........
==>理论联系实际(迭代学习)
3. qhfu(崩贵) ( )
让同事们看到 OO设计的好处, 只要他们觉得好,就会好好学!
==>兴趣是向上的车轮。
4.soflysun(追逐。。追逐。。那天到来得幸福)
==>先实践再基础知识再实践升华
5.zephyr007() ( )
有空多研究一下经典代码,例如stl,boost,loki等,多来社区切磋
==>这个好像不太合适新手,仅适合于熟悉C++后的提升吧。
6.lcd5(lcd5) ( )
==>一步一步的看各种层次的书(这个怕很难找到一个好的顺序吧,可以给一个吗?)
7.primercpp(初学者) ( )
==>一边做梦一边学(反正在人生如梦,想怎么搞就怎么搞吧)
8.nchang(只想做个programmer) ( )
==>那是一本好书,不过太旧了。而且那本书除了前言(就是教一个人不选择C而选择C++的那部分),其它
部分并不适合一个初学者看。
9. sankt(黄景天)
关键是OOA OOD OOP ,与此同时学习设计模式
==>是个好的方法,不过怕只适合设计用吧,对一个有其它语言基础初学者可能会是一个很好的诱惑。
10.另外有人帮我们画了个“老迈”可惜他没来。

谢谢楼上众位兄弟。





sankt 2006-01-07
  • 打赏
  • 举报
回复
关键是OOA OOD OOP ,与此同时学习设计模式
xlsue 2006-01-07
  • 打赏
  • 举报
回复
我觉得一个C语言学得很好,并在实际当中都是用C搞开发的人.一般情况下是很难学C++的.C+有复杂的语法,语法后面的语义,雨衣后面的深层思维.还不如用自己熟悉的c好啊
xboxjacky 2006-01-07
  • 打赏
  • 举报
回复
实践高于一切阿!
lance_123 2006-01-07
  • 打赏
  • 举报
回复
老迈最近没见到了??不知在做什么项目?
vollin 2006-01-05
  • 打赏
  • 举报
回复
to corrupt

:)没啥关系。
xgbing 2006-01-05
  • 打赏
  • 举报
回复
CSDN
vollin 2006-01-05
  • 打赏
  • 举报
回复
唉,怎么就没有牛人来指点一下?
不过,或许C++本来就没有什么好的学习方法?
反正我学了4,5年了也就这水平。
唉。。。难道真的C++高手们都去搞JAVA了?
睡在床板下_ 2006-01-05
  • 打赏
  • 举报
回复
问下楼主:
林尚义 和 林尚沃 是什么关系???
因为我看到 我同学的qq名字就叫林尚沃 ,听他说是个有名的人
睡在床板下_ 2006-01-05
  • 打赏
  • 举报
回复
老迈是谁? 我也不知道, 就是老是看到 论坛里 出现bs 老迈的。。。

现在在读大学中,经验很少,也没做过什么大项目,反正只能看书,图书馆的书都去翻一翻,
平时就一直看书,所以自己动手编程的能力很差.......
看书方面有了一定基础后,看stl的源码啊,mfc啊,收获会比较大.....

各有各的学习方法,我只是说说自己的啊
vollin 2006-01-04
  • 打赏
  • 举报
回复
回复人: dragonzxh(河马MiaMia~小雨特批C++非技术区技术灌水员~) ( ) 信誉:100 2006-1-4 9:24:08 得分: 0



老迈是谁?(不好意思,小弟最近才来社区,所以没听过)
qd_jyx 2006-01-04
  • 打赏
  • 举报
回复
学习学习!
dragonzxh 2006-01-04
  • 打赏
  • 举报
回复
建议这个问题询问老迈....老迈练功比较牛~
nchang 2006-01-04
  • 打赏
  • 举报
回复
恩,如果是从非oop转的话,我推荐你去让同事门去看<c++沉思录>,那本书上来,就是在向人展示为什么选择使用c++,而不用c,是一本8错的书~~
primercpp 2006-01-03
  • 打赏
  • 举报
回复
或者把DD割了学避邪剑谱也很不错滴哦^_^
primercpp 2006-01-03
  • 打赏
  • 举报
回复
先找张三丰输些真气,再找火工头学九阳神功,然后学乾坤大挪移,嘿嘿,快吧
lcd5 2006-01-03
  • 打赏
  • 举报
回复
Esential C++
C++ Primer
Effective C++
More Effective C++
Eceptional C++

一步一步来
加载更多回复(15)
基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明 基于C语言 C++开发的系统项目 课程设计 毕业设计 供参考 源代码+说明

15,446

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧