每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路。下面列出这50条建议:

1、把C++当成一门新的语言学习(和C没啥关系!)。
2、看《Thinking In C++》,不要看《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、浮躁的人容易问:我到底该学什么;——别问,学就对了;
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++!
再跟大家强调几点,就像上面说的,VC++我们需要学会,但请记住它并不代表C++语言,而只是C++的开发平台,我们应该更加重视根本–C++语言;学习编程最好的方法是看完入门教程,然后学习分析源码,最后自己编程实践,在学习几门语言后就驾轻就熟了;学好C++也不是最终目的,最后你会理解到,程序设计技术才是我们一直努力的方向,它是跨语言的。
最后,也想说这句话,学习C++就请热爱C++!

参考来源: 
50条大牛C++编程开发学习建议
http://www.lai18.com/content/319555.html

50条大牛C++编程开发学习建议的更多相关文章

  1. 【转】50条大牛C++编程开发学习建议

    每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真 ...

  2. C++编程开发学习的50条建议(转)

    每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真 ...

  3. FFmpeg基础库编程开发学习笔记——视频常见格式

    声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章.书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚 ...

  4. FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式

    声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章.书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚 ...

  5. Java编程开发学习路线图(附所有免费课程+在线自测)

    转自  https://yq.aliyun.com/articles/134286?spm=5176.100239.0.0.1UfveS 摘要: 长期以来,Java一直占据TIOBE编程语言排行版第一 ...

  6. 50条规则提高PHP开发提高效率技巧

    0.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作 参数的“函数”(译注:PHP手 ...

  7. iOS开发编码建议与编程经验

    作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...

  8. 学习C++语言的50条忠告

    50条忠告:(其中有几条觉得写的不够贴切,所以删了,发了余下的部分) 1.把C++当成一门新的语言学习: 2.看<Thinking In C++>,不要看<C++变成死相>: ...

  9. C语言学习建议!8年编程开发经验

    C语言是几乎所有编程语言的先驱与灵感的来源,Perl,PHP,Python和Ruby都是用它写的,同样什么Microsoft Windows,Mac OS X,还有GNU/Linu这些操作系统,都是靠 ...

随机推荐

  1. Tomcat无法正常启动start.bat 一闪而过、只显示USING 故障排除

    在云主机上配置tomcat的时候遇到的问题. 1. 开始的时候我将自己用的tomcat6绿色版打包放到了主机上,当我打开bin下面的时候startup.bat时,控制台一闪而过,查看log文件没有任何 ...

  2. Gym 101334C 无向仙人掌

    给出图,求他的“仙人掌度”,即求包括他自身的生成子图有多少? 只能删去仙人掌上的叶子的一条边,然后根据乘法原理相乘: 1.怎么求一个仙人掌叶子上有多少边? 可以利用点,边双连通的时间戳这个概念,但是绝 ...

  3. HDU 1298 T9【字典树增加||查询】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1298 T9 Time Limit: 2000/1000 MS (Java/Others)    Memo ...

  4. refinedet网络结构

    refinedet只预测4个层,并且只有conv6_1.conv6_2,没有ssd中的conv7.8.9 refinedet的4个层都只有1个aspect ratio和1个min_size,所以每层每 ...

  5. 【题解】洛谷P2532 [AHOI2012]树屋阶梯(卡特兰数+高精)

    洛谷P2532:https://www.luogu.org/problemnew/show/P2532 思路 来自Sooke大佬的推导: https://www.luogu.org/blog/Sook ...

  6. C#解析HTML神器 Html Agility Pack

    曾经,我傻乎乎的用正则表达式成功的解析了学校的新闻网.教务管理系统.图书馆管理系统中我想要的所有的内容.那时候废了好大的劲写那正则啊,而且最后还是各种不给力,经常会有意想不到的bug出现,最后经过无数 ...

  7. Javascript 基础汇总

    1 javascript字符串 属性:.length  计算字符串长度 转义字符 \     \n 换行 \r 回车 字符串断行 需要使用反斜杠  \ 2 字符串方法 charAt(n)  返回指定索 ...

  8. Spring8中lambda表达式的学习(Function接口、BiFunction接口、Consumer接口)

    代码重构,为了确保功能的等效性,梳理代码时,发现如下代码: public SingleRespTTO fundI(SingleReqTTO request) throws Exception { re ...

  9. 自己平时收集的css、html笔记(适合初级前端攻城狮)

    实习了一年时间,陆陆续续记录下来一堆笔记,不过也丢失了一些... 以后会持续更新.扩展,现在把碰到的知识点归纳于此,方便翻阅 一.html部分 1.取消iPhone自动识别数字为拨打号码 <me ...

  10. ATK 设计框架 之 Atk.CustomExpression

    在ATK-DataPortal框架中的xxxHandel中常用到的一种类型,形如: 1.protected virtual D ItemHandle(D item, Func<E, E> ...