目录
第一章 编程启航:搭建C++开发环境
1.1 开发环境全景图
1.1.1 IDE vs 编译器:Visual Studio Code+GCC/Clang全平台方案
1.1.2 在线编译器实战:Godbolt可视化调试体验
1.2 从零编译第一个程序
1.2.1 "Hello World"代码结构拆解
1.2.2 编译执行全流程演示:gcc/g++命令行操作
1.2.3 常见编译错误排查指南
第二章 语法规础:构建编程核心框架
2.1 数据类型与变量深度解析
2.1.1 整型家族:char/short/int/long long类型陷阱
2.1.2 浮点数精度谜题:float/double存储原理
2.1.3 变量生命周期管理:静态存储区与堆栈区实测
2.2 运算符与控制流进阶
2.2.1 算术/关系/逻辑运算符全解析
2.2.2 位运算实战:快速幂算法优化
2.2.3 条件语句优化:短路求值应用案例
2.2.4 循环结构对比:for/while/do-while性能差异
第三章 数据结构:程序设计的基石
3.1 数组与字符串进阶应用
3.1.1 动态数组管理:new/delete vs std::vector
3.1.2 C风格字符串处理函数大全
3.1.3 字符串哈希:基于BKDR算法的实现
3.2 链表数据结构实现
3.2.1 单双向链表结构图解与代码模板
3.2.2 内存泄漏检测:Valgrind工具使用示范
3.2.3 链表操作面试题实战:反转链表
第四章 面向对象:代码复用的艺术
4.1 类与对象核心机制
4.1.1 构造函数重载的3种典型场景
4.1.2 深拷贝与浅拷贝:自定义赋值运算符
4.1.3 静态成员变量:类级别的数据管理
4.2 继承与多态高级特性
4.2.1 虚函数机制:运行时多态实现原理
4.2.2 抽象基类设计:接口与实现分离
4.2.3 多重继承冲突解决:虚继承实践
第五章 标准模板库(STL):高效编程利器
5.1 容器革命:数据存储新方式
5.1.1 vector/deque性能对比测试
5.1.2 map/set底层红黑树原理剖析
5.1.3 unordered_map哈希表冲突解决
5.2 算法实战:代码效率提升之道
5.2.1 排序算法对比:std::sort vs 自定义实现
5.2.2 查找算法:lower_bound/upper_bound应用
5.2.3 STL算法实战:区间查找与修改
第六章 进阶特性:解锁C++黑科技
6.1 模板元编程深度解析
6.1.1 SFINAE原理与Concepts新标准
6.1.2 模板特化与偏特化的使用规范
6.1.3 模板元编程实战:编译期计算斐波那契数列
6.2 智能指针:内存管理新纪元
6.2.1 shared_ptr环形引用问题解决方案
6.2.2 unique_ptr移动语义最佳实践
6.2.3 weak_ptr使用场景:观察者模式实现
第七章 并发编程:多线程实战
7.1 线程管理基础
7.1.1 std::thread创建与同步机制
7.1.2 mutex锁粒度优化:死锁预防策略
7.1.3 条件变量:生产者-消费者模型实现
7.2 异步编程与C++20特性
7.2.1 future/promise模型实战
7.2.2 协程基础:async/await使用示范
7.2.3 Atomics原子操作:无锁编程实践
第八章 项目实战:知识巩固与应用
8.1 学生成绩管理系统
8.1.1 文件持久化存储:序列化与反序列化
8.1.2 增删改查功能完整实现
8.1.3 STL容器综合应用:vector/map/set搭配使用
8.2 多线程下载器
8.2.1 libcurl库整合与多线程下载
8.2.2 进度条动画:控制台输出美化
8.2.3 文件校验:SHA-256哈希算法实现
第九章 学习资源与QA
9.1 经典书单推荐
9.1.1 《Effective C++》条款精要解读
9.1.2 《C++ Primer》各版本对比指南
9.1.3 入门必读书单:从零到精通路线图
9.2 高频问题答疑
9.2.1 指针与引用究竟有何区别?
9.2.2 为什么说C++有内存泄漏?如何避免?
9.2.3 C++11/14/17/20新特性对比