系列课介绍
C++知识体系的学习包含两部分内容,第一部分是“基础和进阶开发知识”,第二部分是“相关领域知识”。其中第二部分所涉及到的知识会因所从事的行业不同而需要专门学习,比如从事人工智能、音频视频、网络游戏、设备驱动等。但第一部分所涉及到的知识对于每个人都是相同的。
那么,C++语言的基础和进阶开发知识都包括哪些内容呢?看下面这张图:
课程大纲
本系列共包含6门视频课程,覆盖了C++知识体系中“基础和进阶开发知识”的所有方面。
上图中最下面的绿色部分的C语言和C++语言是最基础的知识,任何从事C++语言程序设计的同学都必须要首先学习。本系列课程中的《C语言》和《C++语言》对应的正是这部分知识。
上图右侧红色的C++对象模型知识涉及到C++对象内部工作原理、底层的一些具体实现机制等,探究的是C++幕后的秘密,讲述C++编译器的故事。属于进阶类C++知识,是想成为C++高级甚至大师级开发者所必须掌握的知识。这部分知识对于后续理解很多更高级的知识比如设计模式时具有非常重要的促进作用,学好这方面知识极其重要。本系列课程中的《C++ Object Model》对应的正是这部分知识。
开发者不可能始终编写几千行代码的小项目,随着个人的成长,能力的增强,公司项目规模的扩大,可能会面对数万甚至数十万上百万行代码的大型项目。对于这种项目,如果不做提前的规划,随意书写代码,肯定会面临日后修改需求或者增加功能时的需要修改大量代码的情形。这个时候,往往就需要重构已有的代码。以达到让代码变得更清爽,让增加新功能变得更容易,使项目维护起来变得更轻松的目的,上图左侧红色的设计模式知识就是要达到这样的目的,对于一个开发者来讲,设计模式知识是成长到一定阶段所必须要学习的知识。本系列课程中的《C++ Design Pattern》对应的正是这部分知识。
在C++从业者中,可能有20%~30%的开发者需要编写库,编写接口来供第三方开发者使用,对于这部分开发者,专门拿出精力学习C++模板与泛型编程的知识显得十分必要。诸如大家经常使用的C++标准库、Boost库等世界知名的代表着顶尖开发者开发实力的开源库,甚至更笼统的说,绝大多数供第三方开发者使用的库,都在大范围的使用模板与泛型编程技术。上图中间红色部分的C++模板与泛型编程知识是作为向C++大师方向成长所必须要掌握的进阶类C++知识。在基础开发知识体系中具有最高的学习难度,相关的学习课程和书籍也比较少。如果在实际工作中需要用到这方面知识或者开发者自身有学习这方面知识的意愿,就一定不要错过。本系列课程中的《C++ Templates——视频课程》对应的正是这部分知识。
上图左侧黄色部分的算法和数据结构方面的知识是个具有争议性的话题。有人说程序=数据结构+算法,所以很多人认为算法和数据结构属于基础知识范畴,代表着基础是否牢固,其实这是见仁见智的。当然,基本的数据结构诸如栈、链表、队列等等还是要有一定了解的。阐述几点事实,大家自己决定是否要学习这方面的知识:①实际工作中用到算法的场合不多,所以,只有确定要从事算法方面的工作才有必要投入大精力去学;②去大企业面试的时候常常会考数据结构和算法题,所以对于非常希望进大企业的人,这方面知识必须要学好。本系列课程中的《C++ Data Structures and Algorithms》对应的正是这部分知识。
讲师介绍
王健伟,1995年毕业于哈尔滨工程大学计算机及其应用专业,二十多年软件开发经验,主C++语言,经历过数十个软件项目,主要涉及的开发领域在电信、网络安全、网络游戏三个领域,具备极其深厚的软件开发实战经验。清华大学出版社《C++新经典》系列书籍作者。曾参与创办深圳知名网络安全公司安络科技有限公司,是公司的网络安全在线扫描评估系统项目负责人,全球同服独立游戏《冒险之路》制作人。
面向的人群
本系列课程面向对C/C++语言开发有兴趣并希望将来从事高级C/C++编程语言开发工作的职场人士。只要你懂得基本的计算机操作,能够独立安装开发软件这样的基本技能即可开启学习之旅。
学完收获及建议
本系列你只要循序渐进按部就班的学下去,学完之后你所掌握的C++基础知识将超越90%以上C++从业者。若想继续深入学习提高,我建议你有针对性的对一些大型C++项目源码进行阅读,通过阅读优质代码积累实战经验。
此外,你应该尝试利用所学习的知识寻找C++语言编程开发工作,在工作中进一步完善自己的知识体系,也可以深入一个C++语言具体的开发领域深耕。
C++语言擅长的领域比较多,甚至很多系统底层、高级的东西都是 C++开发的,典型的C++应用场景比如图形学、游戏服务器、网络通讯架构、虚拟现实、嵌入式系统、设备驱动、音视频甚至界面开发、人工智能底层、大数据等等,你可以选择一个领域集中精力去主攻。
课件资料与联系方法
本课程相关的课件资料在课程中已经给出,购买后即可获得。此外,本课程可以搭配《C++新经典》系列纸质书籍一起学习,避免自己做笔记之苦,事半功倍,其中:
C语言和C++语言课程:对应《C++新经典》这本书。
C++ Object Model课程:对应《C++新经典:对象模型》这本书。
C++ Design Pattern课程:对应《C++新经典:设计模式》这本书。
C++ Templates课程:对应《C++新经典:模板与泛型编程》这本书。
C++ Data Structures and Algorithms课程:对应的书籍并未公开售卖,购买本系列课程者本书免费赠送,需要请联系王老师获取,王老师微信:wangjw6517119。