返回课程
AI013 Professional

现代 C++ 教程

本教程旨在为有经验的开发者提供 C++11/14/17/20 新特性的快速参考。内容涵盖语言易用性改进、运行时性能提升、新容器、智能指针与内存管理、正则表达式、并发编程,以及对 C++20 的前瞻介绍。

4.8
30.0h
318 名学生
2 点赞
人工智能
开始学习

课程概述

📚 内容概要

本教程旨在为有经验的开发者提供 C++11/14/17/20 新特性的快速参考。内容涵盖语言可用性提升、运行时性能改进、新容器的使用、智能指针与内存管理、正则表达式、并发编程,以及对 C++20 的前瞻介绍。

快速掌握 C++11/14/17/20,迈入现代 C++ 编程的大门。

作者: 欧长坤 (Ou Changkun)

致谢: 采用 CC BY-NC-ND 4.0 协议授权,感谢所有 GitHub 贡献者及相关社区支持。

🎯 学习目标

  1. 使用命令行工具识别并验证 C++ 编译环境和目标架构。
  2. 解释 C(C89、C99、C11)与 C++(C++98、C++1x)之间的标准兼容性和重叠历史。
  3. 通过 extern "C" 头文件和多阶段编译工作流实现跨语言功能链接。
  4. 使用 nullptr 解决指针歧义,并利用 constexprif constexpr 实现编译期逻辑。
  5. 使用 autodecltype 和类型别名(using)简化复杂声明,同时通过 overridefinal 确保稳健的面向对象设计。
  6. 利用可变模板、折叠表达式和非类型模板参数推导设计高度泛化的代码。
  7. 使用多种捕获模式(值捕获、引用捕获、表达式捕获和通用捕获)定义和实现 Lambda 表达式。
  8. 使用 std::functionstd::bind 创建灵活的函数包装器和部分函数应用。
  9. 将表达式分类为左值(Lvalues)、纯右值(Prvalues)和将亡值(Xvalues),并应用移动语义优化类资源管理。
  10. 区分 std::array(固定大小、栈分配)和 std::vector(动态大小、堆分配)的内存模型及其适用场景。

课程