内容简介:这篇文章实际上是我自己入门过程的总结,一个尽量少废话的C++入门指南。具体总结前,想先回答一个问题——要不要先学C,再学C++?我作为小白时疑惑过这个问题,在此给后来的小白和当年的自己一个答案。
这篇文章实际上是我自己入门过程的总结,一个尽量少废话的C++入门指南。
具体总结前,想先回答一个问题——要不要先学C,再学C++?
我作为小白时疑惑过这个问题,在此给后来的小白和当年的自己一个答案。
个人看法是,单就学习C++而言,直接学习C++就可以了,不用先学C。在微软维护STL的Stephen Thomas Lavavej都说他当年学C++之前学 C语言 浪费了大量的时间,早知道就直接从C++开始。
很多老的项目是C语言写的,之后的编程生涯多半还是绕不开学C语言,不过那时候你已有C++功底,构不成啥大问题。
因此,我这篇文章基本不提C的学习,直接硬刚C++。不赞同的看客勿喷,右上叉叉就是了。赞同的同学可以往下看。
入门
《Accelerated C++》,《Essential C++》二选一精读。《A Tour of C++》选读。
- 《Accelerated C++》很适合新手,因为她只有短短不到300页,在普通砖一样的入门书籍里面是一股清流。容易通读完,减少挫败感。
- 《Essential C++》比较适合有其他编程经验的中手迅速学习C++。内容会比《Accelerated C++》深一些。
- 《A Tour of C++》,C++ creator扛鼎之作,适合刚学完、还有学完很长时间以后看,快速复习 C++知识。
主看书的同时,辅以这几个网站的资料,交叉印证——
- C++ 教程: www.runoob.com/cplusplus/c…
- 你好,C++: zhuanlan.zhihu.com/nihaoCPP
- C++入门系列博客: www.jianshu.com/u/67702c00e…
比如我当初主看的是 Accelerated C++,在上下班通勤等零碎时间就在手机上看辅助部分的资料,看看跟读书的理解一不一样。甚至有时能意识到资料中某些概念的表述不太准确,此刻会发觉自己真的理解了。这种交叉印证的阅读法,能使自己入门时对基础理解的自信更足些。
完成这一步后,就可以开始上GitHub看点别人的代码,尝试写点代码。
我的话,学了在xcode下新建C++工程,然后参照这几个链接,写了两个计算器和一个学生管理系统。然后开始搬砖了。
计算器1: blog.csdn.net/jiejinquani…
计算器2: www.zhihu.com/question/28…
学生管理系统: blog.csdn.net/qcyfred/art…
入门这一步是最关键的,你初步了解了各种基本概念,并成功书写和运行起了代码,感觉真棒吧。
接着下面介绍的,就是顺利入门以后的广阔大海,慢慢慢慢慢慢慢慢、好好好好游吧。留心,不要急,千万不要抱有直接把后面的内容一口气学完,再开始干活的想法。因为那样要耗费巨量时间且效果不好,况且C++是学不完的,也没有人敢说精通。请一边投入实作,一边保持学习。
系统化
入门后有时间就要阅读些更系统的书。 具体就是《C++ Programming Language》(现在已经有第四版了)和《C++ Primer》二选一精读。之后有时间可以翻翻另一本。
(强调提示 !!!《C++ Primer》和《C++ Primer Plus》不是同一本书的不同版本,作者也不一样。【不建议】看《C++ Primer Plus》)
函数库
到这里你应该跨过了语法障碍了,要开始了解函数库。可以按顺序看看《C++标准库》、《深入理解C++对象模型》和侯捷老师的《STL源码剖析》。
追逐性能与优雅
现在应该对C++算有小小成,可能会对如何写出更好性能、更优雅的C++代码感兴趣,可以继续看《Effective C++》和《More Effective C++》,《Exceptional C++》。
哲学
能坚持到最后这步,你可能快疯了,疯子喜欢问哲学问题,比如C++是谁、从哪来、要到哪去。
尝试读读《C++沉思录》、《The Design and Evolution of C++/C++语言的设计和演化》。
另外 C++(C语言) 在一众高级语言里面却算是比较贴近计算机底层的语言。多了解计算机结构、存储、运算原理方面的知识,会对C++ 的来龙去脉理解得更透彻,可以读读《计算机科学导论》、软件工程的《代码大全》、操作系统的《现代操作系统》、 程序员 入门的《深入理解计算机系统》。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- TiDB入门(四):从入门到“跑路”
- MyBatis从入门到精通(一):MyBatis入门
- MyBatis从入门到精通(一):MyBatis入门
- Docker入门(一)用hello world入门docker
- 赵童鞋带你入门PHP(六) ThinkPHP框架入门
- 初学者入门 Golang 的学习型项目,go入门项目
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
使用HTML5和Node构建超媒体API
【美】Mike Amundsen(麦克.阿蒙森) / 臧秀涛 / 电子工业出版社 / 2014-5 / 55.00元
《使用HTML5和Node构建超媒体API》探讨了超媒体API 的设计,介绍了作为超媒体API 的构件块的超媒体因子,并讲解了基本格式、状态转移、领域风格和应用流程这4 种超媒体设计元素;之后作者结合具体的场景,通过3个动手实验章节,从超媒体因子和超媒体设计元素入手,用实际的代码向我们详细地演示了超媒体API 的设计;最后介绍了超媒体设计的文档编写、注册与发布等内容。 《使用HTML5和No......一起来看看 《使用HTML5和Node构建超媒体API》 这本书的介绍吧!