5.3 关键特性演进

C++的发展历程是一部不断添加新特性的历史:

C++98(第一个国际标准)

  • 类和继承
  • 虚函数和多态
  • 模板(泛型编程)
  • 异常处理
  • 标准模板库(STL)
  • 多重继承
  • 运算符重载

C++11(革命性更新)

  • 移动语义和右值引用
  • auto类型推导
  • Lambda表达式
  • 智能指针(unique_ptrshared_ptr
  • 并发支持(std::threadstd::mutex
  • constexpr编译时计算
  • 变参模板
  • nullptr

C++14/17(改进与完善)

  • 泛型Lambda
  • 结构化绑定
  • std::optionalstd::variant
  • 文件系统库
  • 并行算法

C++20(重大新特性)

  • 概念(Concepts):约束模板参数
  • 协程
  • 模块
  • 范围库(Ranges)
  • 三路比较运算符(<=>

C++23(最新标准)

  • std::expected
  • 改进的并发支持
  • std::mdspan
  • 更多的constexpr支持