本视频是传智扫地僧老师,根据 C 语言和 C++ 语言的学习特点,精心录制的一套视频。分为四个部分:C 提高阶段、C++ 基础阶段、C++ 进阶阶段、C/C++ 与数据结构基础阶段。
C 提高阶段视频,针对有一定 C 基础的学员(建议先听完传智播客 C++ 学院基础班课程后,再学习此课程);C++ 基础和 C++ 进阶视频针对 C++ 零基础的学员录制,授课讲究通俗易懂、轻松入门、实战应用,绝对干货。数据结构基础阶段视频讲究实用性,展示链表、队列、树,在项目开发的典型应用。通过该视频的学习,相信你能够轻轻松松地提高 C 语言,迅速入门 C++ 语言。
我们知道,若其他学科编程语言的学习步骤是:学习,应用、上项目,那么 C/C++ 语言的学习步骤为:学习、理解、应用、上项目,多了一步理解。就是“理解”之步骤彰显了 C/C++ 学习难度大于其他编程语言。本套视频针对“理解”之需要,深刻剖析 C/C++ 各种语法现象,引领初学者搭建完整的知识体系,步入 C/C++ 编程殿堂。
第一部分:C 提高阶段
1)介绍C语言的学习标准,C 语言接口 api 的设计与实现;介绍学员的听课标准。
2)程序的内存模型和函数调用模型专题讲座。内容涉及:数据类型的本质剖析,数据类型大小、别名、数据类型封装;变量本质剖析,修改变量的方法。程序的内存模型深入理解,堆区、栈区、全局区、代码区的案例分析。函数调用模型,变量的压栈出栈,各函数变量生命周期。
3)指针知识体系的搭建专题讲座。内容涉及:指针也是一种数据类型;间接赋值(*p)是指针存在的最大意义,间接赋值成立的条件、工程意义。0 级指针到 N 级指针技术推演;理解指针必须和内存分区概念相结合;应用指针必须和函数调用相结合,指针的输入和输出特性。
4)字符串和一级指针内存模型专题。内容涉及:字符串的基本操作、字符串一级指针内存模型,字符串做函数参数,字符串常用开发模型,字符串易犯错误模型, const 修饰符。
5)二级指针(指针数组、二维数组、数组指针)专题讲座。内容涉及:二级指针输入和输出,二级指针做输入三种内存模型,玩转多级指针;多维数组名本质剖析,数组类型、数组指针类型、数组指针变量;多维数组、指针数组、多级指针做函数参数退化问题。
6)结构体提高专题讲座。内容涉及:结构体操作基础,结构体做函数参数,结构体中套1级指针,结构体中套 2 级指针,结构体深拷贝和浅拷贝,结构体的高级话题偏移量。
7)文件操作提高专题,内容涉及:文件基本概念、文件操作(按照字符、块、二进制,文件控制),项目案例1:配置文件读写;项目案例 2:文件加解密。
8)C 接口的封装和设计专题,内容涉及:动态库基本概念、动态库调试环境搭建、动态库 api 函数的设计与实现、动态库加日志、内存泄漏检测。
9)链表强化专题,内容涉及:链表基础,传统链表创建、删除、插入、遍历、销毁、逆置,链表知识体系搭建介绍。
第二部分:C++ 基础
1)C++ 对 C 的扩展专题讲座。内容涉及:面向对象基本概念,C 语言和 C++ 语言关系,命名空间 namespace 和 iostream,C++ 的实用性增强、全局变量检测、类型检测增强,register 功能增强,struct 增强,新增数据类型 bool,三目运算符增强。const 专题讲座(C 语言的冒牌货和 C++ 的符号表机制)、const 与 #define 对比;const 修饰类成员变量、成员函数。引用专题讲座(引用的概念、引用的本质剖析,引用使用原则、函数返回值是引用、函数返回值当左值)。C++ 对 C 的函数扩展(内联函数、默认参数、占位参数、函数重载)。
2)类和对象基础专题,内容涉及:学习 C++ 基础,技术路线和学习标准,类的封装、从面向过程向面向对象转变案例。
3)类和对象深入专题:内容涉及:构造和析构基本语法、构造函数的分类,拷贝构造函数的调用时机,构造函数调用规则研究,构造和析构调用顺序研究;深拷贝和浅拷贝;匿名对象(匿名对象生命周期、匿名对象强化训练),对象的动态申请和释放、静态成员变量和静态成员函数。C++ 对象模型(剖析 C++ 编译器如何管理成员变量、成员函数、this 指针)。友元函数和友元类型。项目案例:数组类等。
4)运算符重载专题。内容涉及:自定义类型需要运算符重载,友元函数和成员函数实现 2 元和 1 元运算符重载。友元函数运算重载应用场景。运算符重载难点训练(=、()、[]、*、-> 等)。运算符重载案例:数组类、字符串类。
5)继承和派生专题。内容涉及:继承案例、派生类的访问控制、继承中的构造和析构(类型兼容性原则,继承中的构造和析构,继承中的同名成员变量、函数,继承中的static关键字)。多继承(多继承概念、二义性、虚继承解决方案原理剖析)。
6)多态专题。内容涉及:a)面向对象新需求,C++ 编译提供的多态方案,多态的意义、多态成立的三个条件(有继承、有虚函数重写、父类指针/引用指向子类对象),多态理论基础(静态联编和动态联编)。b)多态面试题强化(多态理解、重载重写重定义、为什么要有虚析构函数、构造函数中调用虚函数能实现多态吗、父类指针和子类指针的步长问题等)。c)多态原理探究(vptr 指针和虚函数表、vptr 指针的分步初始化、C++ 编译器的提前布局)。
7)纯虚函数和抽象类专题。内容涉及:抽象类概念,抽象类在多继承中的应用,面向抽象类编程案例:企业信息系统框架集成第三方产品案例。C 面向接口编程和 C 的多态效果(函数指针做函数参数、回调函数思想剖析、案例:C 动态库升级成 C 框架案例。)用最简单的场景演示项目开发中最复杂的技术,初学者轻松入门、实战应用。