对于零基础想要学学 C++ 的同学,我希望你们要先明白一件事:C++ 是一门极难掌握的编程语言,内容多且杂且难懂。 所以如果你想要想要学好 C++,你要花很多的时间和精力。 当然这件事我也想告诉你:如果你在刚开始学或者学了很短的一段时间,发现自己学不会,默默告诉自己“这不是我的原因,是 C++ 的原因,都赖它太难”。 我不希望同学们还没入门就放弃。 C++ 较底层,语法非常的灵活,这就造成了它的语法规则比较的繁杂,这里面包含了 C 语言的内容,相比较于 Python、Java 等同等的高级语言,学习 C++ 的时间成本更大。 C++ 是和 C 语言完全不同的编程语言,但是在基础语句和语法上,C++ 和 C 很像,我认为 C++ 可以看成是 C 语言的延展:C ++ 就是一个加了面向对象特性的 C 语言。 如果你有 C 语言基础的话,学习 C++ 会快一些,有余力可以先学 C 语言的同学,可以看我下面这篇文章: 当然没有 C 语言,直接学 C++ 也是没问题的。 C++的上限非常高,但是分阶段性逐步学习是没有问题的,一步步的学,慢慢领悟,总有一天会熟练掌握的。 C++ 语言的学习其实就三个阶段就好了: (1) 入门阶段 这个阶段的学习主要是熟悉 C++ 语言的语法知识。 在这个阶段要做到理解对象的思想方法,培养自己的编程思维能力。 目标是可以开发一些像贪吃蛇这种简单的控制台小程序。 (2) 进阶阶段 进阶阶段的学习主要是要掌握 C++ 标准模板库(STL)、设计模式、数据结构基础以及 UI 界面开发、数据库开发等高级技能。 在这个阶段是要达到可以开发复杂的程序,达到工作中 C++ 开发程序员的能力。 (3) 应用阶段 这个是实战阶段,要具备一定的综合性应用软件开发能力。 这个阶段就是多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。 注意!下面都是超极干的干货,记得先帮我 点个赞呀,么么哒。 一、入门阶段入门阶段的学习主要是熟悉 C++ 语言的语法知识。 除了基础的变量、常量、关键字、数据类型、运算符、数组、函数、指针、结构体外,还要学习 C++ 的面向对象编程思想、命名空间 namespace、引用、函数扩展、类的封装、构造和析构、继承、多态、异常处理等内容。 语言部分的学习建议不要拖太久,一定要规划好时间,一鼓作气,不然自己容易泄气! 1.视频推荐此时同学们应该是毫无基础或者稍微有点 C 语言基础的小白。 对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。 可以先从视频教程开始,教材为辅。 我当初 C++ 视频是在 b 站看的黑马程序员的 C++ 课程(我不是他们的托儿 从 0 到 1 教 C++,三百多个小节,每个小节时间都不是很长,除了个别几个在二十多分钟,其余的基本上都在几分钟到十几分钟之间。 看视频的时候不是看看就过去了,编程毕竟是门一门手艺活,孰能生巧。 建议一边看,一边将视频中的示例或者小项目教学自己也实现一下,刚开始不会可以照着敲,比只看不动手强一百倍。 此外,我最近发现深蓝学院出品的「C++ 基础与深度解析」课程也很不错,深入基础,讲解语法细节。从基础语法讲到 Modern C++,从面向过程开发到新编程范式,对大家学习 C++ 很有帮助。 2.书籍推荐入门阶段的书籍为辅,怎么为辅呢? 就是视频看完一个阶段,然后就可以去看书上对应阶段的内容,这样看书,一方面看书的时候会很快,容易理解,另一方面可以印证自己在看视频的时候一些不太理解的地方。 入门阶段推荐两本书,一本薄的,一本厚的,都是超级经典的书籍。 《Essential C++》 《Essential C++》是一本内容不多但很实用的 C++ 入门书籍,这本书强调的是快速上手与理解 C++ 编程。 主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。 你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。 《C++ Primer Plus》&《C++ Primer》 很多人 C++ 入门的时候会推荐《C++ Primer Plus》,我当年先看的也是这本书,当年 C 语言除了学校的教材,我看的就是《C Primer Plus》。 这本书怎么说的,讲的超级全面,甚至有点过于全面了,书中的例子和课后习题循序渐进,不夸张的讲所有的知识点可能都囊括进去了,作者可能为了怕大家学不明白,讲的巨细,甚至我感觉都有点啰嗦,造成这本书巨厚,字又巨小,看完感觉近视又加了几度。 当时我学习的时候《C++ Primer》还是第 4 版,现在都到第 5 版了! 《C++ Primer》堪称 C++ 语法学习的最权威书籍,非常全面地讲解了C++的语法以及C++11的各种新特性,看完之后真的帮助特别大! 如果有时间建议至少看两遍以上!是面向 C++ 语言的初学者,是一本很友好的自学教材!而且例程和习题丰富,相信认真读过之后,可以完成 C++ 语言入门这个目标!! 二、进阶阶段在进阶阶段,你已经对 C++ 有一定的认知了。 这个时候我们可以深入学习 C++ 标准模板库(STL)、设计模式、数据结构基础以及 UI 界面开发、数据库开发等高级技能。 1.书籍推荐《C++标准程序库》 关于 STL,可以先读这本侯捷老师翻译的《C++ 标准程序库》。 通过这本书对STL有个基本认识,学会使用 STL。 《STL源码剖析》 读完 《C++ 标准程序库》,就可以来读这本侯捷老师编写的《STL源码剖析》了。 这本书建议必读! 这本书讲解了 C++ 底层实现,主要包括 C++ 底层内存管理、各种容器的数据结构实现、常见算法的实现等。 可以帮助深入理解C++底层,同时也是对数据结构的复习和巩固。 《Effective C++》 《Effective C++》讲了 C++ 编程的 55 条准则,提高你的 C++ 编程质量,也是侯捷老师翻译的! 这本书有助于梳理在编写 C++ 程序时的一些常见错误和注意事项,也是面试常考的。 深度探索C++对象模型》 《深度探索C++对象模型》这本书讲解了C++面向对象特性的底层实现机制。 侯捷老师翻译的,看完这本书,对C++面向对象的理解帮助极大,建议必读! |