从0开始学C++

从上次系统的做编程到现在感觉是好久之前的事了,最近发现对于编程的需求越来越大,所以决定从新开始我的码农事业。但是,当再次打开IDE,进入编译界面,试着写了几行程序,系统疯狂报错。经过漫漫长的纠错过程,让我意识到一个问题,一直作为工具用的编程,现在居然非常陌生了,是时候脚踏实地的重新梳理一下了。

从网上找了一些学习编程的名言警句,作为一个学习参考和学习指导吧:

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++!

关于热爱,我觉得并不需要疯狂的热爱,只需要做到在完成一个功能后,心里满满的成就感就可以了,简单的说,就是有激情就好。

另外是一些书的推荐,我也贴在这里,作为一个参考:

1. 《C++ Primer》Lippman写的,经典中的经典,C++入门的宝典,读完这本书,基本语法过关,部分技巧掌握。

2.《The C++ programming language》C++的创始人Bjarne Stroustrup写的,这本书的权威性毋庸置疑,而且这里面讲到了一些比较底层的东西,如果你看过了《C++Primer》的话,这本书可以跳着看,懂的就跳过。

3.《EffectiveC++》
Scott Meyers顶级大师用活泼幽默的语言写的书,这本书中讲到了许多应该注意的问题,这是十分值得购买的书。(Lippman曾把程序员分为看过effective c++的和没看过的两类。由此可见此书的重要性)

4.《More Effective C++》上书的姊妹篇,这本书里讲到了许多关键性的技术,对提高程序的效率是非常有帮助的。

5.《AdvancedC++》这是一本神奇的书,里面讲到了许多连C++设计者都没想到的妙法,解决了许多看似不可能解决的问题。Scott
Meyers曾隆重推荐过的书。

6.《Inside the C++ Objects Model》又是Lippman的大作!这本书讲到了他在开发第一个C++编译器时的许多想法,彻底解析了C++底层机制是如何实现对象模型的,看过这本书,你对C++的了解会有质的飞跃!从这刻起,你有权力说你是一个C++程序员了!

好了,我将持续更新作为一个从0开始做码农。

时间: 2024-08-02 07:06:52

从0开始学C++的相关文章

【从0开始学Java】1.面向对象的特征有哪些方面

+Q325957484可以领取学习视频 1.面向对象的特征有哪些方面 1.Java基础培训,从0开始学Java:抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.Java基础培训,从0开始学Java:继承 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为

如何从 0 开始学 ruby on rails (漫步版)

如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对  rails 感兴趣,但又不知道从何下手.学习路线是什么,因为在多个场合下回答过类似问题,所以决定整理成文章供大家参观. 有很多人选择直接学习 rails,在学习使用 rails 的过程中学习 ruby.但我觉得这有些本末倒置,我更推崇先学 ruby 再学 rails,在对 ruby 有了一定的了解后再学 rails

如何从 0 开始学 Ruby on Rails

如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣,但又不知道从何下手.学习路线是什么,因为在多个场合下回答过类似问题,所以决定整理成文章供大家参观. 有很多人选择直接学习 Rails,在学习使用 Rails 的过程中学习 Ruby.但我觉得这有些本末倒置,我更推崇先学 Ruby 再学 Rails,在对 Ruby 有了一定的了解后再学 Rails 有

从0开始学Python---01

1.开始 Vim  test.py #!/usr/bin/python print "hello,world!"; chmod +x test.py ./test.py 2.基本知识 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 数字:Python支持四种不同的数值类型: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(

从0开始学Java:运行时异常与一般异常有何异同?

无限互联从0开始学Java系列之JAVA相关基础知识,Java基础培训,String 和StringBuffer的区别 1.Java基础学习,从0开始学Java:String 和StringBuffer的区别? JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候你就可以使用StringBuffer.典型

<-0基础学python.第一课->

初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人用python来实现了,而且还给出了原代码, 我兴致勃勃的下载下来用,但是根本没有效果,原因是他们给的是2.7版本的程序,我用的软件是3.4版本的, 我又下载了2.7版本的但是运行的时候还是有地方报错,而我又不知道怎么修改,然后觉得时候系统的学习一下了. 宏观目标:让我的工作效率更高 1.写程序帮我

从0开始学大数据-Java运算符(3)

我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop.Spark.Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习. 上一节了解Java基础语法,本节我们开始学习Java基础-运算符,将会围绕以下几个知识点进行展开学习: 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 三元运算符 PS:开始之前我们先针对上节数据类型中补充的几个小问题 一.数据类型中补充的几个小问题 1.byte值的问题 byte

从0开始学大数据-Java基础-三元运算符/键盘录入(4)

我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop.Spark.Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习. 上一节了解Java运算符,其中三元运算符没有做讲解,本节我们开始学习Java基础-三元运算符/键盘录入,将会围绕以下几个知识点进行展开学习: 三元运算符 键盘录入数据 一.运算符 1.三元运算符 接着上一节的话题运算符,本节讲三元运算符,在讲三元运算符之前,可能会有很多朋友会问,是不是有一元运

从0开始学架构(二)

此系列文章为极客时间上从0开始学架构学习后感悟总结,虽然隔了一段时间了,那么就再看一遍并且进行感悟升华,排版格式上有问题,后期再复习时也会进行更新   一.    高性能数据库集群:读写分离 读写分离的基本原理是将数据库读写操作分散到不同的节点上. 数据库服务器搭建主从集群,一主一从.一主多从都可以 数据库主机负责读写操作,从机只负责读操作 数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据 业务服务器将写操作发给数据库主机,将读操作发给数据库从机 从代码层面与运维层面实

从0开始学架构

程序员的成长绕不开架构设计,有时架构设计就像鸿沟一样挡在程序员晋升之路上,只要跨过去就可以海阔天空. 但不少技术能力很强的程序员依然不能完全掌握架构设计,这与架构设计的思维方式和训练机制与写代码有很大差异有关,加之人们对架构设计存在很多误区,缺乏一套行之有效的架构设计方法论,就可能导致在实践过程中把握不住重点.分不清主次:或者,没有彻底掌握架构设计的原则,在设计上举棋不定. 也许你还是个架构新手,缺乏一个可以参考指导的架构设计流程:或者,虽然有一定经验,但还不能对已有模式进行技术创新.这些问题都