智伤帝的个人博客

智伤帝

马上订阅 智伤帝的个人博客 RSS 更新: https://blog.l0v0.com/atom.xml

C++ 道法器术

2022年11月26日 15:59

前言

https://www.bilibili.com/video/BV1pu411y7n1
https://www.bilibili.com/video/BV1RV4y1x7qH

  上面两个链接是 李老师 的直播视屏。
  虽然 李老师 在卖课。
  但他免费的直播对我 C++ 小白来说,非常有用,让我对 C++ 语言有了一个大局观的认识。
  这样才能更好地定位到自己学习的情况。
  下面是对他 PPT 内容的一些总结汇总。

C++ 道法器术

  • C++ 5个术
      1. 类型系统
      1. 编译映射
      1. 内存管理
      1. 设计范式
      1. 习语与规范
  • 设计范式
      1. 面向过程
      1. 面向对象
      1. 泛型编程
      1. 函数式编程
      1. 模板化编程
  • 时空人
    • 时间分析 – 发生在什么时候
    • 空间分析 – 变量/对象放在哪里
    • 人物分析 – 代码哪来的,如何耦合
  • 模块一 C++ 类型系统与设施
    • 类型基础
      • 存储: 堆 栈 全局区
      • 值语义与引用语义
      • 指针与引用
      • 初始化与生命周期
    • 其他类型
      • 数组序列: vector array 与 C数组
      • 字符串处理: string string_view与char*
      • 枚举类 联合 位域
      • 数据成员
      • 函数成员
      • 静态与实例成员
      • 操作符重载
    • 类型扩展
      • auto 与自动类型推断
      • const
      • volatile
      • 结构化绑定
    • 编译与构建
      • C++ 编译机制
      • 模块 (C++ 20)
      • GCC/Clang/MSVC
  • 模块二 C++ 面向对象编程
    • C++ 对象模型
      • 对象内存模型
      • 对象成员与指针成员
      • 对象布局 对齐 和尺寸
    • 三法则与五法则
      • 构造函数 / 析构函数
      • 拷贝构造函数 / 赋值操作符
      • 移动拷贝构造函数 / 移动赋值函数
      • 默认定义与删除规则
    • 继承: 类型抽象
      • 基类与子类
      • 成员的继承
      • 抽象类
      • 共有 私有 受保护继承
      • 多继承与虚继承
    • 多态: 运行时绑定
      • 虚函数
      • 虚函数表
      • 虚析构函数
      • 运行时绑定
      • dynamic_cast
    • 面向对象设计
      • 实现继承与接口继承
      • 组合与继承
      • 编译时 VS 运行时绑定
      • 设计模式: Template Strategy Observer
  • 模块三 内存管理: 原理 优化技巧与避免踩坑
    • RAII: 内存与资源管理
      • 内存与资源
      • 资源获取即初始化 (RAII)
      • C++ Java Go Rust 内存管理对比
    • 智能指针
      • unique_ptr
      • shared_ptr
      • weak_ptr
    • 移动语义
      • 右值与左值
      • 移动构造与移动赋值
      • 移动与拷贝
      • 临时对象与返回值优化(RVO)
      • std::move 操作
      • std::forward 操作
    • new 与 delete 扩展
      • 全局 new 与 delete
      • new 与 delete 操作符
      • placement new
      • nothrow new
  • 模板机制
    • 参数化类型
      • 类模板
      • 类型参数与值参数
      • 模板参数推到
      • 参数的隐式绑定
    • 参数化操作
      • 函数模板
      • 函数对象
      • lambda 表达式
      • 函数式编程
    • 实用类型
      • pair 与 tuple
      • variant optional any
      • bitset
    • 模板扩展
      • 模板编译模型
      • 类型别名
      • 模板特化
      • 可变参数模板
      • constexpr...

剩余内容已隐藏

查看完整文章以阅读更多