每个从事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. 好记性不如烂笔头-nginx安装环境与Linux安装ftp组件

    Nginx安装环境 1. Nginx安装环境 Nginx是C语言开发,建议在linux上运行,我参加工作这些年来一直使用Linux发行版之一的 Centos作为安装环境. 1.1 gcc 安装Ngin ...

  2. March 16 2017 Week 11 Thursday

    Adventure may hurt you, but monotony will kill you. 也许冒险会让你受伤,但一成不变会让你灭亡. The very theme of the univ ...

  3. Hello World, S/4HANA for Customer Management 1.0

    SAP CRM的前世今生 在我之前的微信公众号文章 SAP的这三款CRM解决方案,您能区分清楚么我曾经提到过我作为成都SAP研究院CRM产品开发团队的一员工作过一段时间. 我向在SAP德国总部工作的德 ...

  4. Android(java)学习笔记58:Android 英文朗诵

    1. 首先,我先把代码放到下面: package com.himi.speaker; import java.util.Locale; import android.app.Activity; imp ...

  5. [18/11/30] toString()方法 和 equals() 方法

    一. toString() 方法 Object类中定义有public String toString()方法,其返回值是 String 类型  默认: return getClass().getNam ...

  6. 使用paramiko的问题记录

    用paramiko时遇到问题,异常如下: 解决方法记录如下: 更新gmp版本: wget https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2 tar -xvj ...

  7. SpringMVC学习记录三——8 springmvc和mybatis整合

    8      springmvc和mybatis整合 8.1      需求 使用springmvc和mybatis完成商品列表查询. 8.2      整合思路 springmvc+mybaits的 ...

  8. 【luogu P1462 通往奥格瑞玛的道路】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1462 记住HP=0也叫死. #include <queue> #include <cstd ...

  9. 【luogu P1137 旅行计划】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1137 topsort + DP #include <queue> #include <cs ...

  10. Android学习笔记_1_拨打电话

    1.首先需要在AndroidManifest.xml文件中加入拨打电话的权限,对应的配置文件: <?xml version="1.0" encoding="utf- ...