【来信】
老师:
您好,我看了您的很多博客内容,想请教您一些问题。以前自己跟着学校老师过过一遍基础的C++(谭浩强的书),现在打算自己好好的学C++,目前我也在看《C++ primer》,对语法知识和面向对象有了一定的理解(容器算法,模板方面还不太理解),现在我想做些题目,可是对OJ平台上的题目真是很烦(因为英语水平有限),往往不会去那么在意题目的细节,加上他评判的标准会不会太严格了,导致在细节上花了很多时间,而我只是想通过题目来巩固所学到的知识,并不是为了比赛去做题,也许做一些实例有帮助。。。
老师能给我一些建议吗
【回复】
看到你的信,我马上想到了我写过的《CSDN博客和OJ,两种积累编程代码量的方法对比》。OJ平台是一个锻炼问题解决能力的绝好的地方,但如果要有针对性地实践某一项技术,并不合适。OJ只在乎你是否能解决问题,速度快不快。由于“严格”,对缺乏训练的初学者也会造成心理上的影响。所以,我带领我的学生探索的路线,通过CSDN发博文,让“代码积累看得见”,以此用实践为主线,获得能力的提高。
你在看的《C++ primer》,总体对语言、语法重视更多,在精心设计的例程中,能令人欣赏到语言的精妙之处,但并不能体会到相关的成份如何体现在项目中。我的博客里,带领我的学生开展的实践,也还都局限在基本内容之中,你可以看一看有没有值得你做的题目。的确,多做一些实例,是你能有所体悟的途径。但由于我暂时没有在这方面深入建设资源,不能给你提出具体的建议。泛泛而言:(1)不急着买书,到图书馆找一找对胃口的书看,完成上面的实例,我觉得应该有合适的书;(2)到一些开源社区找一些C++写的开源代码,或者看一些开源的算法库;(3)讲“设计模式”之类的书,用C++描述的关于数据结构和算法的书,其实现可能会用到模板。
当然,OJ中的题目,也可以直接用上STL解决,这也是种方法,且有其优势。毕竟OJ题目从程序规模上是合适的,你的不适应,恰也是你需要提高的地方。做OJ题目,是个途径,而不是目标,不去参赛,参加训练也是很好的事,我希望你不要抵触。
china-pub(正在发售) 卓越网(接受预订) 图灵社区 官方试读本下载 豆瓣 |
==================== 迂者 贺利坚 CSDN博客专栏================= |== IT学子成长指导专栏 专栏文章分类目录(不定期更新) ==| |== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==| ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 ===== |