Skip to content

学习C++

基础概念

  1. C++基础

    • 变量和数据类型
    • 控制流(if-else, for, while等)
    • 函数和函数重载
    • 指针和引用
    • 头文件和预处理器
  2. 面向对象编程

    • 类和对象
    • 继承、封装、多态
    • 构造函数和析构函数
    • 虚函数和纯虚函数
  3. 运算符重载

    • 重载算术运算符
    • 重载比较运算符
    • 流插入和提取运算符重载

高级特性

  1. 模板编程

    • 函数模板
    • 类模板
    • 模板特化
  2. 异常处理

    • try、catch和throw关键字
    • 标准异常
    • 自定义异常
  3. 智能指针

    • unique_ptr、shared_ptr和weak_ptr
    • 智能指针的使用场景
    • 自动资源管理

标准模板库(STL)

  1. 容器

    • 序列容器(如vector、list、deque)
    • 关联容器(如map、set)
    • 适配器容器(如stack、queue)
  2. 迭代器

    • 迭代器类型和属性
    • 迭代器操作
    • 迭代器失效问题
  3. 算法

    • 排序和查找算法
    • 数值算法
    • 常用操作(如遍历、复制、替换)

内存管理

  1. 动态内存分配

    • new和delete操作符
    • 动态数组
    • 内存泄露和防范
  2. 资源管理

    • 资源获取即初始化(RAII)
    • 作用域绑定资源管理
    • 自定义内存分配器

多线程和并发

  1. C++11线程库

    • 创建和管理线程
    • 互斥锁和条件变量
    • 线程安全和死锁
  2. 原子操作和内存模型

    • 原子类型
    • 内存顺序
    • 原子操作和锁
  3. 并发编程模式

    • 生产者-消费者模型
    • 任务并行化
    • 线程池

高级话题

  1. C++17和C++20新特性

    • 结构化绑定
    • std::optional、std::variant和std::any
    • 并行算法
  2. 性能优化

    • 代码优化技术
    • 性能分析工具
    • 编译器优化选项
  3. 跨平台开发

    • 跨平台编译器和工具链
    • 条件编译和平台特定代码
    • 第三方库的集成

实践和应用

  1. 项目结构和构建系统

    • C++项目的组织结构
    • 使用构建系统(如Makefile、CMake)
    • 第三方库的集成和管理
  2. 单元测试和调试

    • 单元测试框架(如Google Test)
    • 调试技巧和工具
    • 内存泄露检测(如Valgrind)
  3. 实际应用案例

    • 桌面应用开发
    • 系统编程
    • 游戏开发和图形编程