1. C++ 简介

  • 什么是 C++?
  • C++ 的发展历史
  • C++ 的应用领域
  • C++ 与其他编程语言的对比

2. C++ 开发环境搭建

  • 安装 C++ 编译器(GCC, Clang, MSVC)
  • 选择 IDE(VS Code, CLion, Code::Blocks)
  • 第一个 C++ 程序

3. C++ 基础语法

  • 变量与数据类型
  • 输入与输出(cin 和 cout)
  • 运算符(算术、逻辑、比较、位运算等)
  • 条件语句(if-else, switch-case)
  • 循环语句(for, while, do-while)

4. C++ 函数与作用域

  • 函数定义与调用
  • 传值调用与引用调用
  • 函数重载与默认参数
  • 递归函数

5. 指针与引用

  • 指针的基本概念
  • 指针运算
  • 指针与数组
  • 指针与函数
  • 引用的概念与应用

6. C++ 面向对象编程(OOP)

  • 类与对象
  • 构造函数与析构函数
  • 成员函数与成员变量
  • 访问控制(public, private, protected)
  • 继承与派生类
  • 多态(虚函数与纯虚函数)

7. C++ 内存管理

  • 栈与堆内存
  • new 和 delete 关键字
  • 智能指针(unique_ptr, shared_ptr, weak_ptr)
  • 内存泄漏及其预防

8. C++ 标准库(STL)

  • STL 简介
  • 容器(vector, list, map, set, unordered_map)
  • 迭代器
  • 算法库(sort, find, transform)
  • 函数对象(functor)

9. C++ 进阶特性

  • 运算符重载
  • 模板编程(函数模板、类模板)
  • 异常处理(try, catch, throw)
  • 多线程编程(std::thread, mutex, condition_variable)

10. C++ 文件操作

  • 文件流(ifstream, ofstream, fstream)
  • 读写文本文件
  • 读写二进制文件

11. C++11/14/17/20 新特性

  • C++11(自动类型推导 auto, lambda 表达式, 智能指针, 并发支持)
  • C++14(泛型 lambda, std::make_unique, 变量模板)
  • C++17(结构化绑定, if constexpr, 并行算法)
  • C++20(协程, concepts, ranges)

12. C++ 项目实战

  • 控制台应用程序开发
  • GUI 编程(Qt)
  • 网络编程(Boost.Asio)
  • 游戏开发(SFML, Unreal Engine)

13. C++ 代码优化与调试

  • 代码优化技巧
  • 调试工具(GDB, LLDB, Visual Studio Debugger)
  • 性能分析(Valgrind, gprof)

14. C++ 设计模式

  • 单例模式
  • 工厂模式
  • 观察者模式
  • 适配器模式

15. C++ 与其他技术结合

  • C++ 与 Python 交互(Boost.Python, pybind11)
  • C++ 与数据库(SQLite, MySQL)
  • C++ Web 开发(CppRESTSDK, Crow)

出站链接(External Links)

  1. C++ 官方文档
  2. C++ 编译器与工具
  3. C++ 开发环境
  4. C++ 标准库(STL)
  5. C++ 进阶学习
  6. C++ 开源项目

参考资料(References)

  1. 书籍推荐
    • 《C++ Primer》——Stanley B. Lippman
    • 《Effective C++》——Scott Meyers
    • 《The C++ Programming Language》——Bjarne Stroustrup
  2. 在线教程
  3. C++ 论坛和社区

你想让我深入讲解哪一部分?😊