- gf25030 的博客
C艹的那些事(持续更新,2026起)
- @ 2026-5-31 21:38:16
2026年1月-6月 C++ 圈大事记
2026年上半年对C++社群而言意义非凡——C++26标准在这一时期完成技术定稿,被誉为“自C++11以来最具冲击力的一次发布”。从标准委员会的最终投票,到编译器厂商的快速跟进,再到全球各地社区的热情响应,这半年的每一件大事都值得记录。
📅 一月:新年开局,标准进程稳步推进
📄 标准委员会一月邮件稿发布
1月16日,ISO C++委员会发布了2026年的第一份邮件稿(2026-01 mailing),为新一年的标准工作拉开序幕。
这份邮件稿包含了各国专家提交的最新提案和技术论文,为3月份的伦敦会议做铺垫。虽然1月本身没有大型会议或重磅发布,但邮件稿的发布标志着C++26最终冲刺阶段的正式开始。
📅 二月:会议预热,社区活动陆续启动
🗓️ 二月邮件稿与伦敦会议预热
2月23日,委员会发布了2026-02 pre-Croydon mailing,这是3月伦敦会议前的重要准备文件。邮件稿中包含了对C++26草案的进一步修订意见,以及对各项核心特性的最终技术评审。
🎟️ C++Online 2026 开放 Workshop 售票
2月19日,C++Online 2026宣布Workshop门票正式开售。作为上半年重要的线上C++活动之一,C++Online 2026提供了涵盖反射、并发、嵌入式开发等多个领域的深度课程。
值得关注的Workshop主题:
- C++26静态反射(Koen Samyn)- 探索即将到来的反射特性
- std::execution(Sender/Receiver)(Mateusz Pusz)- 学习C++26的异步模型
- Safe C++(Klaus Iglberger)- 编写更安全的现代C++代码
- 嵌入式环境中的C++(Andreas Fertig)- MISRA/SIL/Autosar约束下的实践
Workshop时间跨度从3月底延伸到5月,为不同时区的开发者提供了灵活参与的机会。
📅 三月:历史性时刻——C++26标准正式完成
三月是2026年上半年C++圈最重要的一月。3月28日,ISO C++委员会在英国伦敦克罗伊登完成了C++26标准的技术工作,这意味着C++26的核心特性正式锁定。
🏛️ 伦敦会议:C++26标准技术工作完成
3月23日至28日,WG21(C++标准委员会)在伦敦克罗伊登举行为期六天的会议。共有约210名参会者(130人线下,80人线上),代表24个国家。
会议的核心任务是处理411条来自各国对C++26草案的评审意见,并最终完成技术定稿。
🎉 C++26:自C++11以来最具冲击力的发布
Herb Sutter(委员会主席)在会议报告中宣布:“C++26 is done!”。他将C++26称为“自C++11以来最具冲击力的一次发布”。
C++26的核心特性被概括为“四大金刚”(Fab Four):
| 特性 | 说明 | 意义 |
|---|---|---|
| 反射(Reflection) | 编译期代码自省与代码生成 | “C++未来十年的火箭引擎” |
| 内存安全改进 | 未初始化变量读取不再UB;标准库加固 | 只靠重新编译即可获得安全提升,段错误率降低30% |
| 合约(Contracts) | 前置/后置条件、断言 | 最具争议的特性,最终以114:12的投票保留 |
| std::execution | 统一的异步执行框架(Sender/Receiver) | 填补协程的调度空白 |
⚠️ 争议:合约功能的去留之争
合约(Contracts)是C++26最具争议的特性。C++之父Bjarne Stroustrup公开反对将其纳入标准,称其“既不最小,也不可行”。反对者担心它会以晦涩的方式增加复杂性。
尽管如此,最终投票结果为114票赞成,12票反对,3票弃权——合约确定进入C++26。
🖥️ 线上大会:C++Online 2026
3月11日至13日,C++Online 2026主会议在线举行。作为上半年重要的线上C++活动,本次大会提供了超过25场演讲,涵盖C++26新特性、性能优化、并发编程等前沿话题。Workshop环节则延伸至4月和5月,为开发者提供了深度学习的机会。
🎤 Herb Sutter 在 BeCPP 发表演讲
3月30日,Herb Sutter在BeCPP研讨会上发表了题为“C++ — Growing in a world of competition, safety, and AI”的演讲。这是他对2026年C++发展趋势的首次系统性公开阐述,讨论了三大行业趋势对C++的影响:能源/AI投资激增、安全要求的深刻变化、以及AI对开发的影响(与局限)。
📅 四月:尘埃落定后的回响与工具链更新
C++26标准完成后,4月成为消化与传播的月份。社区开始广泛讨论新特性,编译器厂商也加快了落地步伐。
📊 2026年度C++开发者调查启动
4月21日,ISO C++基金会启动了2026年度C++开发者调查“精简版”。这份约10分钟的问卷旨在收集全球开发者对语言特性、工具链和标准演进方向的反馈,调查结果于5月初公布。
🏗️ MSVC 14.50:Visual Studio 2026 首发版本
4月,MSVC Build Tools v14.50随Visual Studio 2026 version 18.0正式发布。该版本包含了多项C++23特性支持,如auto(x) decay-copy和#warning指令。
🐧 GCC 16.1 发布(4月30日)
虽然发布时间在4月底,但GCC 16.1的发布在5月引发了持续讨论。该版本的最大亮点是默认将C++20设为编译标准,并实现了多项C++26特性:
- 反射支持(需
-std=c++26 -freflection开启) - 合约支持
- 扩展语句(expansion statements)
- 错误行为(erroneous behavior)——未初始化读取不再导致UB
GCC 16.1还改进了实验性的C++20模块支持,并新增了对std::simd、std::inplace_vector等库特性的支持。
🔧 MSVC 14.51 预览版
MSVC团队同步更新了v14.52预览版,修复了大量模块相关问题,并实现了新的C++23特性“即时函数传播”,允许开发者提前体验未来的工具链。
📅 五月:社区发酵——大会、调查结果与新工具落地
5月是C++社群最为活跃的一个月。C++Now大会召开、开发者调查结果公布、MSVC 14.51正式发布,各大厂商争相展示对C++26的支持。
🏔️ C++Now 2026:阿斯彭的年度盛会
5月4日至8日,C++Now 2026在美国科罗拉多州阿斯彭举行。这是C++社群上半年最重要的线下聚会,吸引了约140名参会者,在阿斯彭物理中心展开了为期五天的深度技术交流。
大会亮点:
- 三场主题演讲:
- Barry Revzin:《反射只是一半的故事》——探讨反射如何作为元编程的基石
- Mark Hoemmen:《让C++标准并行性走向多维》
- Matt Godbolt:《基准测试——关于时间》——优化测量的艺术
- 50场技术演讲,覆盖反射、并发、性能优化等主题
- “Library in a Week” 活动——参会者在一周内协作构建一个真实的C++库(Beman Project)
- 闪电演讲、圆桌讨论、年度野餐晚宴等社交活动
📊 2026年度C++开发者调查结果公布
5月4日,ISO C++基金会发布了2026年度C++开发者调查“精简版”结果。这份报告汇总了全球开发者对语言特性、工具链和标准演进方向的反馈,共计145页的完整报告已提交给C++标准委员会和工具供应商,作为未来决策的重要参考。
🏢 MSVC 14.51 正式发布
5月11日,MSVC Build Tools v14.51随Visual Studio 2026 version 18.6正式发布。
主要更新:
- C++23特性:
static constexpr变量在constexpr函数中的支持(P2647R1)、放宽的constexpr限制(P2448R2)、Unicode支持增强 - 新增标准库头文件:
<flat_map>和<flat_set> - ARM64支持:AddressSanitizer(ASan)正式支持ARM64目标
- NuGet PackageReference:原生C++项目现在支持NuGet包管理体验(实验性)
🎓 C++Online 2026 Workshop收官
5月,C++Online 2026的Workshop环节迎来收官:
- 5月22日:AI++ 101——用C++构建AI编码助手
- 5月25日:C++26静态反射实战
- 5月28-29日:AI++ 201——用Claude Code构建匹配引擎
📅 六月:迈向C++29——新征程开启
随着C++26尘埃落定,委员会的注意力开始转向下一个三年周期——C++29。
📄 五月邮件稿与六月会议预告
5月4日,委员会发布了2026-05(pre-Brno)邮件稿的提交截止通知:5月12日15:00 UTC。这是为6月在捷克布尔诺举行的下一次委员会会议准备的提案材料。
🇨🇿 布尔诺会议前瞻
根据Herb Sutter的会议报告,C++26之后的两次委员会会议已确定:
- 2026年6月:捷克布尔诺(Brno, Czechia)
- 2026年11月:巴西里约热内卢布基奥斯(Búzios, Rio de Janeiro)
这两次会议将正式启动C++29的工作,开始向新标准的工作草案中添加特性。
🎯 C++29 的优先方向:内存安全与 Profiles
C++26伦敦会议期间,关于C++29的讨论已经展开。进一步的内存安全改进成为共识度最高的方向。
具体工作包括:
- 继续推进减少未定义行为的提案
- 开发Bjarne Stroustrup提出的类型安全Profile(P3984),利用Gabriel Dos Reis的通用Profile框架
- 安全与安全子组(SG23)将持续工作在相关提案上
📊 2026年上半年C++圈大事时间轴
一月
├── 1/16: ISO C++ 发布一月邮件稿
二月
├── 2/19: C++Online 2026 Workshop 售票开启
└── 2/23: 发布 pre-Croydon 邮件稿
三月 ⭐ 标准定稿月
├── 3/11-13: C++Online 2026 主会议
├── 3/23-28: 伦敦会议,C++26 技术工作完成
├── 3/28: Herb Sutter 宣布 "C++26 is done!"
├── 3/30: Herb Sutter BeCPP 演讲
└── 3/31-4月: C++Online Workshops
四月
├── 4/21: 2026 C++ 开发者调查启动
├── 4/30: GCC 16.1 发布(C++20默认,C++26反射/合约)
└── 4月: MSVC 14.50 随 VS2026 发布
五月 🌟 社区活动月
├── 5/4: C++Now 2026 开幕
├── 5/4: 2026 C++ 开发者调查结果公布
├── 5/4-8: C++Now 2026 大会
├── 5/8: C++Now 2026 闭幕
├── 5/11: MSVC 14.51 正式发布
└── 5/12: 五月邮件稿提交截止
六月
├── 6月: 布尔诺会议(C++29 工作启动)
└── 持续推进 C++29 内存安全相关提案
🔮 展望下半年
随着C++26标准尘埃落定,2026年下半年的C++圈将呈现以下趋势:
- 编译器全面跟进:GCC、Clang、MSVC将继续完善对C++26特性的支持,尤其是反射和合约的稳定实现
- C++29提案加速:6月布尔诺会议和11月巴西会议将成为C++29特性讨论的主战场
- 安全议题持续升温:内存安全和Profile机制将是未来两年的核心讨论焦点
- 社区应用实践:开发者将开始尝试C++26新特性,相关最佳实践和模式将逐步形成
C++正站在一个重要的历史节点——C++26赋予开发者前所未有的编译期能力和安全保障,而C++29有望在内存安全领域实现更大突破。
附注:本文基于截至2026年5月31日的公开信息整理。如后续有补充或更新,将及时修订。