本课程的教学方式循序渐进,可以从零基础开始,不要求具备C语言基础C++基础,一般包含了C语言的部分。只要你想成为C++程序员,本课程都合适,如果你有编程基础,学起来肯定会更轻松,不要求计算机专业。
课程目录
├── 1-Day1: 开始学习C++/
│ ├── [ 23M] 1-1 导学
│ ├── [ 19M] 1-2 准备开发环境
│ ├── [ 50M] 1-3 第一个C++程序
│ ├── [ 27M] 1-4 C++输出数据
│ ├── [ 25M] 1-5 程序的注释
│ ├── [ 28M] 1-6 使用变量
│ ├── [ 13M] 1-7 使用常量
│ └── [ 26M] 1-8 标识符的命名
├── 2-Day2:C++的运算/
│ ├── [ 32M] 2-1 C++输入数据
│ ├── [ 41M] 2-2 算术运算
│ ├── [ 14M] 2-3 自增和自减
│ ├── [ 21M] 2-4 赋值运算
│ ├── [8.8M] 2-5 C++11初始化赋值
│ ├── [ 29M] 2-6 关系运算
│ ├── [ 28M] 2-7 逻辑运算
│ ├── [ 12M] 2-8 逗号运算
│ └── [ 22M] 2-9 运算的优先级
├── 3-Day3:条件分支结构/
│ ├── [ 10M] 3-1 if语句的基本结构
│ ├── [ 45M] 3-2 if语句的注意事项
│ ├── [ 34M] 3-3 嵌套使用if语句
│ ├── [ 22M] 3-4 多条件的if语句
│ ├── [ 25M] 3-5 if语句中的逻辑表达式
│ ├── [ 15M] 3-6 三目运算
│ └── [ 24M] 3-7 switch语句
├── 4-Day4: 循环结构/
│ ├── [ 21M] 4-1 while循环语句
│ ├── [ 36M] 4-2 循环的跳转
│ ├── [ 23M] 4-3 for循环语句
│ ├── [ 25M] 4-4 嵌套使用循环
│ ├── [5.0M] 4-5 do…while循环语句
│ └── [ 12M] 4-6 goto语句
├── 5-Day5:函数基础/
│ ├── [ 30M] 5-1 函数的声明和定义
│ ├── [ 46M] 5-2 函数的调用
│ ├── [ 41M] 5-3 变量的作用域
│ ├── [ 21M] 5-4 函数参数的传递
│ ├── [ 30M] 5-5 函数分文件编写
│ ├── [ 32M] 5-6 在VS中调试程序
│ └── [ 17M] 5-7 递归函数
├── 6-Day6:C++的数据类型(上)/
│ ├── [ 23M] 6-1 sizeof关键字
│ ├── [ 33M] 6-2 整型的基本概念
│ ├── [ 15M] 6-3 整数的书写
│ ├── [ 15M] 6-4 C++11的long long类型
│ └── [ 24M] 6-5 浮点数
├── 7-Day7:C++的数据类型(下)/
│ ├── [ 38M] 7-1 字符型的基本概念
│ ├── [ 20M] 7-2 转义字符
│ ├── [ 15M] 7-3 C++11的原始字面量
│ ├── [ 13M] 7-4 字符串型
│ ├── [ 14M] 7-5 布尔型
│ ├── [ 48M] 7-6 数据类型的转换
│ └── [ 13M] 7-7 数据类型的别名typedef
├── 8-Day8:C++指针(上)/
│ ├── [ 36M] 8-1 指针的基本概念
│ ├── [ 31M] 8-2 使用指针
│ ├── [ 35M] 8-3 指针用于函数的参数
│ ├── [ 32M] 8-4 用const修饰指针
│ └── [ 24M] 8-5 void关键字
├── 9-Day9:C++指针(下)/
│ ├── [ 14M] 9-1 C++内存模型
│ ├── [ 34M] 9-2 动态分配内存new和delete
│ ├── [ 30M] 9-3 二级指针
│ ├── [ 22M] 9-4 空指针
│ ├── [ 23M] 9-5 野指针
│ └── [ 46M] 9-6 函数指针和回调函数
├── 10-Day10:数组(上)/
│ ├── [ 45M] 10-1 一维数组的基本概念
│ ├── [ 46M] 10-2 一维数组和指针
│ ├── [ 20M] 10-3 一维数组的越界
│ ├── [ 43M] 10-4 一维数组用于函数的参数
│ ├── [ 27M] 10-5 用new动态创建一维数组
│ ├── [ 37M] 10-6 一维数组的排序qsort
│ └── [ 12M] 10-7 一维数组的查找-折半查找
├── 11-Day11:数组(下)/
│ ├── [ 62M] 11-1 C风格字符串
│ ├── [ 52M] 11-2 二维数组
│ ├── [ 36M] 11-3 二维数组用于函数的参数
│ └── [ 27M] 11-4 多维数组
├── 12-Day12:结构体、共同体、枚举/
│ ├── [ 57M] 12-1 结构体的基本概念
│ ├── [ 43M] 12-2 结构体指针
│ ├── [ 23M] 12-3 结构体数组
│ ├── [ 29M] 12-4 结构体嵌入数组和结构体
│ ├── [ 25M] 12-5 结构体中的指针
│ ├── [ 25M] 12-6 简单链表
│ ├── [ 24M] 12-7 共同体
│ └── [ 17M] 12-8 枚举
├── 13-Day13:C++引用/
│ ├── [ 18M] 13-1 引用的基本概念
│ ├── [ 15M] 13-2 引用的本质
│ ├── [ 27M] 13-3 引用用于函数的参数
│ ├── [ 33M] 13-4 引用的形参和const_
│ ├── [ 30M] 13-5 引用用于函数的返回值
│ └── [ 16M] 13-6 各种形参的使用场景
├── 14-Day14:函数重载、内联函数/
│ ├── [ 22M] 14-1 函数的默认参数
│ ├── [ 21M] 14-2 函数的重载的基本概念
│ ├── [ 25M] 14-3 函数的重载的细节
│ └── [ 11M] 14-4 内联函数
├── 15-Day15:C++类和对象(上)/
│ ├── [ 41M] 15-1 从结构体到类
│ ├── [ 14M] 15-2 类的访问权限
│ ├── [ 33M] 15-3 简单使用类
│ ├── [ 33M] 15-4 构造函数和析构函数
│ ├── [ 61M] 15-5 构造函数的细节
│ ├── [ 54M] 15-6 拷贝构造函数
│ └── [ 37M] 15-7 浅拷贝和深拷贝
├── 16-Day16:C++类和对象(下)/
│ ├── [ 60M] 16-1 初始化列表
│ ├── [ 25M] 16-2 const修饰成员函数
│ ├── [ 32M] 16-3 this指针
│ ├── [ 31M] 16-4 静态成员
│ ├── [ 54M] 16-5 简单对象模型
│ └── [ 38M] 16-6 友元
├── 17-Day17:C++运算符重载、类型转换/
│ ├── [ 64M] 17-1 运算符重载基础
│ ├── [ 18M] 17-2 重载关系运算符
│ ├── [ 27M] 17-3 重载左移运算符
│ ├── [ 24M] 17-4 重载下标运算符
│ ├── [ 34M] 17-5 重载赋值运算符
│ ├── [ 34M] 17-6 重载new&delete运算符
│ ├── [ 47M] 17-7 实现简单的内存池
│ ├── [ 19M] 17-8 重载括号运算符
│ ├── [ 25M] 17-9 重载一元运算符
│ ├── [ 43M] 17-10 自动类型转换
│ └── [ 27M] 17-11 转换函数
├── 18-Day18:C++继承与派生(上)/
│ ├── [ 22M] 18-1 继承的基本概念
│ ├── [ 29M] 18-2 继承方式
│ ├── [ 57M] 18-3 继承的对象模型
│ ├── [ 27M] 18-4 如何构造基类
│ ├── [ 30M] 18-5 名字遮蔽与类作用域
│ ├── [ 20M] 18-6 继承的特殊关系
│ └── [ 31M] 18-7 多继承与虚继承
├── 19-Day19:C++继承与派生(下)/
│ ├── [ 41M] 19-1 多态的基本概念
│ ├── [ 17M] 19-2 多态的应用场景
│ ├── [ 32M] 19-3 多态的对象模型
│ ├── [ 43M] 19-4 如何析构派生类
│ ├── [ 31M] 19-5 纯虚函数和抽象类
│ ├── [ 31M] 19-6 运行阶段类型识别dynamic_cast
│ └── [ 38M] 19-7 typeid运算符和type_info类
├── 20-Day20:C++ 函数模板/
│ ├── [ 24M] 20-1 自动推导类型auto
│ ├── [ 27M] 20-2 函数模板的基本概念
│ ├── [ 30M] 20-3 函数模板的注意事项
│ ├── [ 27M] 20-4 函数模板的具体化
│ ├── [ 18M] 20-5 函数模板分文件编写
│ └── [ 51M] 20-6 函数模板高级
├── 21-Day21:C++类模板/
│ ├── [ 37M] 21-1 模板类的基本概念
│ ├── [ 28M] 21-2 模板类的示例-栈
│ ├── [ 48M] 21-3 模板类的示例-数组
│ ├── [ 45M] 21-4 嵌套使用模板类
│ ├── [ 20M] 21-5 模板类具体化
│ ├── [ 39M] 21-6 模板类与继承
│ ├── [ 29M] 21-7 模板类与函数
│ ├── [ 40M] 21-8 模板类与友元
│ ├── [ 17M] 21-9 模板类的成员模板
│ └── [ 25M] 21-10 将模板类用作参数
├── 22-Day22: 预处理、编译、命名空间、类型转换/
│ ├── [ 66M] 22-1 编译预处理
│ ├── [ 59M] 22-2 编译和链接
│ ├── [ 39M] 22-3 C++命名空间
│ └── [ 56M] 22-4 C++类型转换static_cast
├── 23-Day23:STL容器/
│ ├── [ 62M] 23-1 string容器基础
│ ├── [ 29M] 23-2 string容器的设计目标
│ ├── [ 42M] 23-3 string容器的操作
│ ├── [ 56M] 23-4 vector容器
│ ├── [ 71M] 23-5 迭代器
│ ├── [ 37M] 23-6 基于范围的for循环
│ ├── [ 23M] 23-7 list容器的构造
│ ├── [ 35M] 23-8 list容器的操作
│ ├── [ 40M] 23-9 pair键值对
│ ├── [ 19M] 23-10 红黑树
│ ├── [ 69M] 23-11 map容器
│ ├── [ 15M] 23-12 哈希表
│ ├── [ 62M] 23-13 unordered_map容器
│ ├── [ 21M] 23-14 queue容器
│ └── [ 51M] 23-15 STL其它容器
├── 24-Day24:STL算法/
│ ├── [ 54M] 24-1 STL算法for_each
│ ├── [ 36M] 24-2 STL算法find_if
│ ├── [ 42M] 24-3 STL算法sort
│ └── [ 49M] 24-4 STL算法总结_1
├── 25-Day25:C++智能指针/
│ ├── [ 52M] 25-1 智能指针unique_ptr基础
│ ├── [ 48M] 25-2 智能指针unique_ptr更多技巧
│ ├── [ 42M] 25-3 智能指针shared_ptr
│ ├── [ 19M] 25-4 智能指针的删除器
│ └── [ 29M] 25-5 智能指针weak_ptr
├── 26-Day26:文件操作/
│ ├── [ 45M] 26-1 文件操作-写入文本文件
│ ├── [ 22M] 26-2 文件操作-读取文本文件
│ ├── [ 27M] 26-3 文件操作-写入二进制文件
│ ├── [ 23M] 26-4 文件操作-读取二进制文件
│ ├── [ 39M] 26-5 文件操作-更多细节
│ ├── [ 27M] 26-6 文件操作-fstream类
│ ├── [ 68M] 26-7 文件操作-随机存取
│ └── [ 56M] 26-8 文件操作-缓冲区和流状态
├── 27-Day27:C++的异常与断言/
│ ├── [ 19M] 27-1 C++异常
│ ├── [ 50M] 27-2 如何避免异常
│ └── [ 26M] 27-3 C++断言
├── 28- Day28:C++11新标准/
│ ├── [ 76M] 28-1 C++11新标准
│ ├── [ 27M] 28-2 委托构造和继承构造
│ ├── [ 52M] 28-3 lambda函数
│ ├── [ 38M] 28-4 右值引用
│ ├── [ 43M] 28-5 移动语义
│ ├── [ 30M] 28-6 完美转发
│ ├── [ 30M] 28-7 可变参数模板
│ └── [ 63M] 28-8 时间操作chrono库
├── 29-Day29:C++11线程/
│ ├── [ 51M] 29-1 创建线程
│ ├── [ 36M] 29-2 线程资源的回收
│ ├── [ 27M] 29-3 this_thread的全局函数
│ ├── [ 13M] 29-4 call_once函数
│ ├── [9.7M] 29-5 native_handle函数
│ ├── [ 28M] 29-6 线程安全
│ ├── [ 43M] 29-7 互斥锁
│ ├── [ 34M] 29-8 条件变量-生产消费者模型
│ ├── [ 64M] 29-9 生产消费者模型代码分析
│ └── [ 48M] 29-10 原子类型atomic
├── 30-Day30:可调用对象的绑定器和包装器/
│ ├── [ 50M] 30-1 可调用对象
│ ├── [ 47M] 30-2 包装器function
│ ├── [ 42M] 30-3 绑定器bind
│ ├── [ 22M] 30-4 可变函数和参数
│ ├── [ 23M] 30-5 回调函数的实现
│ └── [ 17M] 30-6 如何取代虚函数