课程目录

1-1 [C++基础] 课程概述(包含移动应用和游戏开发学习网络介绍) (10:38)
1-2 [C++基础] C++的开发环境搭建 (19:47)
1-3 [C++基础] 先来编写第一个C++程序 (08:56)
1-4 [C++基础] C++程序的总入口:main函数 (13:47)
1-5 [C++基础] C++注释到底是怎样的 (02:10)
1-6 [C++基础] 第一个预编译指令#include (06:44)
1-7 [C++基础] 命名空间(namespace)、cout与endl (04:52)
1-8 [C++基础] 变量和命名规范 (24:34)
2-1 [简单数据类型与算数运算符] 基础数据类型:整型 (20:02)
2-2 [简单数据类型与算数运算符] 基础数据类型:字符(char) (13:40)
2-3 [简单数据类型与算数运算符] C++中的特殊字符 (15:45)
2-4 [简单数据类型与算数运算符] 宽字符类型(包括C++ 11支持的类型) (14:02)
2-5 [简单数据类型与算数运算符] 基础数据类型:布尔(bool) (04:04)
2-6 [简单数据类型与算数运算符] 基础数据类型:浮点类型 (30:22)
2-7 [简单数据类型与算数运算符] 浮点类型值的存储方式 (46:07)
2-8 [简单数据类型与算数运算符] 变量初始化(包括C++ 11中的初始化方式) (07:58)
2-9 [简单数据类型与算数运算符] 常量 (02:21)
2-10 [简单数据类型与算数运算符] C++中的基本操作符(Operator) (12:09)
2-11 [简单数据类型与算数运算符] 自动类型转换 (22:52)
2-12 [简单数据类型与算数运算符] 强制类型转换 (06:21)
2-13 [简单数据类型与算数运算符] C++ 11中的auto关键字 (17:48)
3-1 [复杂数据类型] 数组基础 (09:23)
3-2 [复杂数据类型] 数组初始化(包括C++ 11中的数组初始化方法) (10:04)
3-3 [复杂数据类型] C风格的字符串 (19:31)
3-4 [复杂数据类型] C风格字符串的输入 (20:54)
3-5 [复杂数据类型] C++风格的字符串:string类 (06:25)
3-6 [复杂数据类型] 字符串的复制、连接和获取长度 (15:19)
3-7 [复杂数据类型] 宽字符串和Raw String (15:07)
3-8 [复杂数据类型] 结构体的定义、初始化和使用 (11:31)
3-9 [复杂数据类型] 结构体(Struct)数组 (06:15)
3-10 [复杂数据类型] 计算结构体(Struct)尺寸 (20:54)
3-11 [复杂数据类型] 结构体(Struct)的位字段 (13:36)
3-12 [复杂数据类型] 共用体(Union) (15:08)
3-13 [复杂数据类型] 枚举类型变量的定义和赋值 (06:04)
3-14 [复杂数据类型] 设置枚举类型成员的值 (12:30)
3-15 [复杂数据类型] 枚举类(enum class):C++ 11新特性 (11:24)
3-16 [复杂数据类型] 枚举类型的尺寸 (14:32)
3-17 [复杂数据类型] 匿名类型和类型别名 (15:39)
3-18 [复杂数据类型] 指针基础 (22:03)
3-19 [复杂数据类型] 指针移动与数据类型 (12:39)
3-20 [复杂数据类型] 关于指针初始化的问题 (07:07)
3-21 [复杂数据类型] 使用new动态分配内存空间 (07:24)
3-22 [复杂数据类型] 使用delete释放内存空间 (15:40)
3-23 [复杂数据类型] 动态创建和释放数组 (07:29)
3-24 [复杂数据类型] 使用动态创建的数组 (10:10)
3-25 [复杂数据类型] 指针与字符串 (09:20)
3-26 [复杂数据类型] 常量指针与指针常量 (08:57)
3-27 [复杂数据类型] 使用new动态创建结构体 (05:41)
3-28 [复杂数据类型] 使用new动态创建共用体 (04:21)
3-29 [复杂数据类型] 多维数组和多级指针 (32:51)
3-30 [复杂数据类型] vector模板类基础 (10:26)
3-31 [复杂数据类型] 数组模板基础 (26:41)
4-1 [循环语句] for循环 (26:36)
4-2 [循环语句] 用for-in循环枚举集合中的元素(C++ 11) (07:13)
4-3 [循环语句] 集合与指针(begin&&end) (11:42)
4-4 [循环语句] while循环 (13:55)
4-5 [循环语句] do...while循环 (10:29)
4-6 [循环语句] 循环退出(break)和继续(continue) (05:47)
4-7 [循环语句] 自增(++)、自减(--)和组合赋值操作符 (21:48)
4-8 [循环语句] goto语句与深层循环 (18:17)
5-1 [条件语句和逻辑运算符] 条件语句if和do...while(0)形式的宏 (18:29)
5-2 [条件语句和逻辑运算符] 逻辑表达式与短路问题 (12:30)
5-3 [条件语句和逻辑运算符] 处理字符的函数集:cctype (06:56)
5-4 [条件语句和逻辑运算符] 问号(?)操作符 (14:22)
5-5 [条件语句和逻辑运算符] 条件语句:switch (16:44)
6-1 [函数基础] 函数基础 (11:53)
6-2 [函数基础] 函数参数与值传递 (05:02)
6-3 [函数基础] 函数与数组类型的参数 (04:41)
6-4 [函数基础] 函数与C风格的字符串 (05:43)
6-5 [函数基础] 函数与结构体、共用体 (09:02)
6-6 [函数基础] 函数指针 (09:33)
7-1 [函数深度探索] 内联(inline)函数 (07:48)
7-2 [函数深度探索] 可在编译时计算为常量的函数(constexpr) (09:29)
7-3 [函数深度探索] 引用类型的变量 (06:38)
7-4 [函数深度探索] 引用类型的函数参数 (07:51)
7-5 [函数深度探索] 引用类型的结构体函数参数 (04:47)
7-6 [函数深度探索] 函数中的默认参数 (09:56)
7-7 [函数深度探索] 函数重载(overload) (11:20)
7-8 [函数深度探索] 函数模板(相当于Java中的泛型) (08:26)
7-9 [函数深度探索] 函数模板重载 (06:21)
7-10 [函数深度探索] 函数模板的特例化 (09:07)
7-11 [函数深度探索] 模板函数特例化(补充) (02:37)
7-12 [函数深度探索] decltype关键字(C++ 11) (08:15)
7-13 [函数深度探索] decltype的规则(C++ 11) (16:20)
7-14 [函数深度探索] decltype与返回值 (08:59)
8-1 [编译、链接和命名空间] #include头文件的原理和规则 (16:27)
8-2 [编译、链接和命名空间] 解决#include重复定义的问题 (06:15)
8-3 [编译、链接和命名空间] #include的循环引用问题 (09:52)
8-4 [编译、链接和命名空间] 头文件中建议包含的和不建议包含的内容 (11:49)
8-5 [编译、链接和命名空间] 定义和声明 (09:04)
8-6 [编译、链接和命名空间] 链接性为外部和内部的变量 (06:27)
8-7 [编译、链接和命名空间] 函数中的静态变量(无链接性的局部变量) (04:41)
8-8 [编译、链接和命名空间] mutable说明符(允许设置const结构体变量的成员值) (03:11)
8-9 [编译、链接和命名空间] const对链接性的影响 (04:18)
8-10 [编译、链接和命名空间] 函数的链接性 (08:19)
8-11 [编译、链接和命名空间] 语言链接性 (10:38)
8-12 [编译、链接和命名空间] 命名空间的定义 (09:34)
8-13 [编译、链接和命名空间] 使用using namespace和using引用命名空间中的资源 (02:50)
8-14 [编译、链接和命名空间] 嵌套命名空间 (04:09)
8-15 [编译、链接和命名空间] 匿名命名空间 (03:33)
9-1 [类和对象] 类定义和成员访问控制 (17:43)
9-2 [类和对象] 定义和实现类中的方法 (10:17)
9-3 [类和对象] 内联方法 (05:08)
9-4 [类和对象] 类的初始化和构造方法 (14:15)
9-5 [类和对象] 默认构造方法和参数默认值 (05:58)
9-6 [类和对象] 析构方法 (08:53)
9-7 [类和对象] C++ 11初始化对象的方式总结 (03:38)
9-8 [类和对象] 常量(const)方法 (05:04)
9-9 [类和对象] this指针 (02:54)
9-10 [类和对象] 对象数组 (11:05)
9-11 [类和对象] 类中的常量(const) (08:49)
9-12 [类和对象] 类中的枚举类型 (04:23)
10-1 [类的高级技术] 操作符重载 (15:23)
10-2 [类的高级技术] 函数形式的操作符重载 (07:27)
10-3 [类的高级技术] 操作符重载的限制 (15:36)
10-4 [类的高级技术] 友元函数 (14:27)
10-5 [类的高级技术] 友元函数与<<操作符重载 (08:40)
10-6 [类的高级技术] 类型转换(数值和对象之间的互转,转换函数的编写) (10:15)
10-7 [类的高级技术] 类中静态变量和静态常量的初始化问题 (15:57)
10-8 [类的高级技术] 复制构造方法 (14:34)
10-9 [类的高级技术] 使用复制构造方法可能会带来的问题 (09:51)
10-10 [类的高级技术] 类的静态成员方法 (03:10)
10-11 [类的高级技术] 函数/方法的参数和返回值应该返回对象,还是对象引用 (12:27)
10-12 [类的高级技术] 操作符重载返回常量对象引用,还是对象引用 (05:29)
11-1 [类的继承] 类的继承 (05:26)
11-2 [类的继承] 子类构造方法调用父类的构造方法 (13:30)
11-3 [类的继承] 虚方法与多态 (15:15)
11-4 [类的继承] protected访问控制 (05:24)
11-5 [类的继承] 抽象类和纯虚函数 (07:49)
12-1 [代码重用] valarray模板类 (04:41)
12-2 [代码重用] 成员变量的初始化顺序 (04:05)
12-3 [代码重用] C++中的单件模式(Singleton) (13:36)
12-4 [代码重用] explicit与单参数的构造方法 (03:42)
12-5 [代码重用] 私有(private)继承 (06:01)
12-6 [代码重用] 避免操作符重载造成的递归调用 (04:46)
12-7 [代码重用] 保护(protected)继承 (03:54)
12-8 [代码重用] 使用using重新定义访问权限 (08:24)
12-9 [代码重用] C++中的多继承 (11:50)
12-10 [代码重用] 多继承与共同基类的问题 (04:49)
12-11 [代码重用] 虚基类(虚继承) (09:41)
12-12 [代码重用] 多继承与父类方法冲突 (06:18)
12-13 [代码重用] 模板类 (17:26)
12-14 [代码重用] 模板中的非类型参数 (11:21)
12-15 [代码重用] 模板的继承和组合 (09:46)
12-16 [代码重用] 递归使用模板 (03:44)
12-17 [代码重用] 拥有多个类型参数的模板 (03:13)
12-18 [代码重用] 默认类型参数 (02:01)
12-19 [代码重用] 模板类的显式具体化 (13:59)
12-20 [代码重用] 模板类的部分具体化 (17:07)
12-21 [代码重用] 成员模板 (10:47)
12-22 [代码重用] 将模板类作为类型参数的类型 (04:28)
12-23 [代码重用] 模板类与友元函数 (18:04)
12-24 [代码重用] 模板别名(C++ 11) (08:08)
13-1 [友元类和嵌套类] 友元类 (09:26)
13-2 [友元类和嵌套类] 友元成员方法(相当虐心) (19:28)
13-3 [友元类和嵌套类] 互为友元类 (07:25)
13-4 [友元类和嵌套类] 共同的友元函数 (05:46)
13-5 [友元类和嵌套类] 嵌套类基础 (06:44)
13-6 [友元类和嵌套类] 嵌套类的访问权限 (12:49)
13-7 [友元类和嵌套类] 模板类中的嵌套类 (20:01)
14-1 [异常处理] 错误返回码与abort函数 (14:15)
14-2 [异常处理] 引发异常与捕捉异常(throw,try...catch) (11:34)
14-3 [异常处理] 将对象作为异常表达式抛出 (08:55)
14-4 [异常处理] 异常捕捉的else (11:56)
14-5 [异常处理] 异常类的基类:exception (04:12)
14-6 [异常处理] throw和noexcept (18:48)
14-7 [异常处理] 系统的预定义异常类 (15:32)
14-8 [异常处理] 捕获由new产生的异常 (06:53)
14-9 [异常处理] 阻止new抛出异常 (02:19)
15-1 [类型识别和转换] 类型识别:dynamic_cast运算符 (17:04)
15-2 [类型识别和转换] dynamic_cast与引用类型转换 (10:09)
15-3 [类型识别和转换] 类型识别:typeid运算符 (14:14)
15-4 [类型识别和转换] 类型转换运算符概述 (06:50)
15-5 [类型识别和转换] const_cast运算符 (06:29)
15-6 [类型识别和转换] static_cast运算符 (03:58)
15-7 [类型识别和转换] reinterpret_cast运算符 (05:50)
16-1 [string类与智能指针] string类的构造方法 (21:54)
16-2 [string类与智能指针] 输入string类型的值 (11:00)
16-3 [string类与智能指针] string值的比较和定位 (20:56)
16-4 [string类与智能指针] 获取string的尺寸和分配的空间大小 (13:52)
16-5 [string类与智能指针] 智能指针的基本用法 (15:01)
16-6 [string类与智能指针] auto_ptr、shared_ptr和unique_ptr的区别和应用场景 (12:42)
16-7 [string类与智能指针] unique_ptr与临时右值 (06:00)
16-8 [string类与智能指针] 如何选择智能指针 (09:06)
17-1 [标准模板库(STL)] 标准模板库(STL)概述 (05:46)
17-2 [标准模板库(STL)] 迭代器(Iterator)基础 (30:31)
17-3 [标准模板库(STL)] 用于替代for语句的for_each函数 (08:31)
17-4 [标准模板库(STL)] 用于随机排列容器中元素值的random_shuffle函数 (04:25)
17-5 [标准模板库(STL)] 用于对容器中元素值排序的sort函数 (16:16)
17-6 [标准模板库(STL)] 用于查找容器中元素值的find函数 (04:06)
17-7 [标准模板库(STL)] 用于复制容器元素值的copy函数 (03:17)
17-8 [标准模板库(STL)] 枚举容器中元素的3种方法 (05:40)
17-9 [标准模板库(STL)] 将STL算法用于非STL容器 (09:08)
17-10 [标准模板库(STL)] STL中的容器 (12:51)
17-11 [标准模板库(STL)] 双向链表容器类:list (28:48)
17-12 [标准模板库(STL)] 同时兼具vector和list优势的双端队列:deque (07:31)
17-13 [标准模板库(STL)] 单向链表容器:forward_list(C++ 11) (04:47)
17-14 [标准模板库(STL)] 队列容器类:queue (07:35)
17-15 [标准模板库(STL)] 永远获得最大值的队列容器类:priority_queue (04:14)
17-16 [标准模板库(STL)] 栈容器类:stack (03:37)
17-17 [标准模板库(STL)] 数组模板类:array (05:34)
17-18 [标准模板库(STL)] 集合容器类:set (15:11)
17-19 [标准模板库(STL)] 支持重复值的集合容器类:multiset (03:07)
17-20 [标准模板库(STL)] 映射容器类:map (10:16)
17-21 [标准模板库(STL)] 允许key重复的映射容器类:multimap (15:33)
17-22 [标准模板库(STL)] 无序关联容器(C++ 11) (07:37)
17-23 [标准模板库(STL)] 函数对象 (11:29)
17-24 [标准模板库(STL)] STL中预定义的函数对象(函数符) (09:30)
17-25 [标准模板库(STL)] STL中的算法函数 (11:33)
17-26 [标准模板库(STL)] STL与string (06:30)
18-1 [更多的C++ 11新特性] lambda表达式基础 (16:39)
18-2 [更多的C++ 11新特性] 为什么要使用lambda表达式 (06:39)
18-3 [更多的C++ 11新特性] lambda表达式的参数和返回值类型 (07:35)
18-4 [更多的C++ 11新特性] lambda表达式与变量的访问权限 (11:42)
18-5 [更多的C++ 11新特性] lambda表达式类型 (08:02)
18-6 [更多的C++ 11新特性] 将lambda表达式作为委托(Delegate)的方法 (09:07)
18-7 [更多的C++ 11新特性] 模板调用的低效性 (12:27)
18-8 [更多的C++ 11新特性] 用function包装器解决模板调用的低效性问题 (03:41)
18-9 [更多的C++ 11新特性] 更简洁地使用function包装器 (06:24)
18-10 [更多的C++ 11新特性] 可变参数模板 (10:50)
19-1 [准C++标准库:Boost] Boost简介 (06:20)
19-2 [准C++标准库:Boost] 下载和安装Boost Library (09:50)
19-3 [准C++标准库:Boost] 第一个Boost程序 (08:56)
19-4 [准C++标准库:Boost] 字符串和日期类型互转 (27:50)
19-5 [准C++标准库:Boost] 计算两个时间之间的间隔(以天为单位) (04:10)
19-6 [准C++标准库:Boost] 通过改变年来改变日期 (04:18)
19-7 [准C++标准库:Boost] 计算指定月的天数 (10:03)
19-8 [准C++标准库:Boost] array的新特性 (07:14)
19-9 [准C++标准库:Boost] 双值映射(bimap) (10:33)
19-10 [准C++标准库:Boost] 多值索引容器(multi_index_container) (20:08)
19-11 [准C++标准库:Boost] 线程基础 (06:54)
19-12 [准C++标准库:Boost] 线程中断 (04:40)
19-13 [准C++标准库:Boost] 线程同步 (05:12)
19-14 [准C++标准库:Boost] 正则表达式与字符串进行比较 (06:53)
19-15 [准C++标准库:Boost] 在字符串中搜索所有满足正则表达式规则的子字符串 (04:46)
19-16 [准C++标准库:Boost] 替换字符串中符合正则表达式规则的子字符串 (01:37)
19-17 [准C++标准库:Boost] 分隔字符串 (03:20)
19-18 [准C++标准库:Boost] 元组类型(tuple) (02:26)