【C++】C++11出来之后,到目前为止官方都做了些什么更新?

C++11出来之后,到目前为止官方都做了些什么更新?

在 C++ 的历史上,C++11 是一个分水岭。它把这门语言从"写起来像增强版 C"推向了"现代编程语言"的行列。

但故事并没有停在 2011。事实上,从 C++11 开始,C++ 标准委员会(ISO C++ Committee)决定:以后每三年发布一次新标准

那么,C++11 之后到现在,官方到底做了哪些更新?


1. C++14:小修小补(2014)

如果说 C++11 是大改版,那么 C++14 更像是官方的"修正补丁"

主要更新:

  • 泛型 lambda

    arduino 复制代码
    auto lambda = [](auto x, auto y) { return x + y; };
  • 返回值类型推导 (函数支持 auto 返回)。

  • 二进制字面量 0b1010

  • std::make_unique ,终于补上了 unique_ptr 的方便工厂函数。


2. C++17:标准库大加强(2017)

到了 C++17,语言和库又迎来一波扩展:

  • 结构化绑定

    scss 复制代码
    auto [key, value] = mymap.begin();
  • if constexpr

    模板元编程的救星,可以在编译期选择分支。

  • inline 变量

    终于不用头文件里搞奇怪的 extern 了。

  • std::optional / std::variant / std::any

    标准化"可选值""类型安全联合体""任意类型"。

  • std::string_view

    字符串零拷贝视图,性能优化神器。

  • 并行算法
    std::sort 等 STL 算法可以并行执行。

总体感觉:更现代,库更强大。其他没啥了。


3. C++20:较大更新(2020)

C++20 被很多人称为 "继 C++11 之后最重要的更新"

  • Concepts(概念)

    给模板加"约束",可读性和错误提示友好多了。

    r 复制代码
    template<typename T>
    requires std::integral<T>
    T add(T a, T b) { return a + b; }
  • Ranges(范围库)

    直接写"声明式算法":

    c 复制代码
    for (auto i : vec | std::views::filter([](int x){ return x > 10; })) 
        std::cout << i << std::endl;
  • 协程(Coroutines)
    co_await / co_yield 语法,异步编程更自然。

  • Modules(模块化)

    这个很重要,头文件不再是大杂烩了,编译速度和依赖管理大幅改善。

  • constexpr 更强

    可以在编译期执行更多逻辑。

  • 三路比较 <=>

    太空船操作符,写比较运算更简洁。


4. C++23:继续迭代(2023)

最新的标准是 C++23(已经正式发布)。它没有像 C++20 那样有大突破,但仍然在打磨语言:

  • std::expected (比 optional 更好地处理返回值错误)。
  • 多维下标运算符
  • 范围 for 的新特性(支持初始化器)。
  • 更多标准库算法和范围库增强
  • 内存模型改进,并发支持更完善。

5. C++26 在路上

都2025了,那么C++26也不远了吧?我根据前几次更新的惯性来猜测一下,可能带来:

  • 更成熟的 反射(Reflection) 支持。
  • Pattern Matching(模式匹配) ,类似 Rust/Scala 的写法。
  • 协程生态进一步完善。

拭目以待喽~~

相关推荐
妙码生花1 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十六):多驱动上传接口
后端·go·ai编程
颜进强1 小时前
从零搭建私人 RAG 实战:让 Claude Code 按需查询知识库
前端·后端·ai编程
王维同学1 小时前
Credential Provider、Filter 与 PLAP 的 CLSID 枚举
c++·windows·安全·注册表
Carlgood-Minecraft2 小时前
随机分位系统破解版 (BPS)Version-B4.2
c++
wu8587734572 小时前
从 Prompt 到 Loop:拆解 AI 工程化四范式的演进逻辑与落地边界
人工智能·ai·prompt·aigc·ai编程
大龄码农有梦想2 小时前
Codex、Claude Code 等 AI 编程工具对软件工程的启发
人工智能·软件工程·agent·ai编程·ai agent·智能体·智能体平台
冻柠檬飞冰走茶3 小时前
PTA基础编程题目集 7-7 12-24小时制(C语言实现)
c语言·开发语言·数据结构·算法
雨落在了我的手上3 小时前
Java数据结构(八):双链表的实现
数据结构
paeamecium3 小时前
【PAT甲级真题】- Kuchiguse (20)
数据结构·c++·python·算法·pat考试·pat
青山木3 小时前
Hot 100 --- 全排列
java·数据结构·算法·leetcode·深度优先