ISO C++委员会主席萨特,本周微软离职,已效力22年!揭秘C++26标准:白宫压力下历史上最大一次变革,C++在微软进展缓慢

C++ 标准委员会 国际C++标准委员会 C++作为一种开源且广泛应用的编程语言 标准的作用 委员会的组织 委员会的结构对 C++ 设计的影响 国际C++标准委员会,正式名称为ISO/IEC JTC1/SC22/WG21,确实是C++语言发展的重要推手。这个组织自1991年成立以来,一直在推动C++标准的制定和演进。在此之前,C++的开发工作主要由美国国家标准学会(ANSI)的C++标准委员会负责。C++作为一种开源且广泛应用的编程语言,没有特定的资金提供来源或所有者,因此其发展在很大程度上依赖于企业开发、开源项目以及社区的努力。对于来自不同组织和公司的开发者来说,WG21和各国的标准委员会成为了他们共同讨论、解决问题和推动C++发展的平台。 阅读详情

14日消息,ISO C++委员会主席赫伯·萨特(Herb Sutter)已经于本周从微软离职,此前他已经为微软效力了22年,并选择加入Citadel Securities担任技术研究员,负责技术战略和培训。他将继续担任ISO委员会主席,并称2024年是C++语言的“关键一年”。

图片

图片

“危险”的C++,内存安全性进展算不上快

正如萨特所说,2024年是C++的关键之年。

更大一部分还是来自美国政府的压力。因为提升内存安全已上升到美国国家安全议题。受到白宫、“五眼”情报机构、联邦执法机构及美国网络安全与基础设施局等机构的支持。这一点并非空穴来风,根据谷歌的数据,内存安全漏洞约占零日漏洞的 75%,并且在大型代码库中的严重漏洞中,约 70% 都源于此类漏洞。

不巧的是,作为老语种,C 和 C++ 经常引发内存安全漏洞,因为它们依赖手动内存管理。手动内存管理的优势是通常性能更好,开销更小,对比 Python 或 Java 这样的语言则通过垃圾回收来管理内存。然而,手动内存管理可能会导致缓冲区溢出、使用释放后的内存等内存相关的错误。

今年2月,美国白宫就宣布需要在C和C++上采取一些措施来提升内存安全,要么就切换到Rust。

这在 C 和 C++ 社区中,这引发了广泛的讨论,因为这两种语言都不具备内存安全性,并且能否实现内存安全都存在很大争议。

当时 C++ 社区的一个回应是提出了 Safe C++ 的提案。

当时还是C 和 C++ 委员会成员的前计算机科学教授、产品设计师及图形专家Robin Rowe 提到了 C++ 之父的决定。

据 Rowe 所言,C++ 语言的创建者 Bjarne Stroustrup 表示他一直在研究“Profiles” [PDF],并希望继续下去。“我很尊敬 Bjarne,但我不认为 Profiles 是正确的答案,” Rowe 说。“而在 C 社区,答案则更不明确,没有真正的行动计划。”

C++ 中一些最大的内存安全漏洞是从 C 继承的。“在3月的会议上,我们讨论了如何改进异常处理,使 C++ 能有更好的错误处理能力。”Rowe 表示,游戏开发、嵌入式系统及高可用性服务器的开发者通常禁用异常,因为它们具有非确定性并且会带来性能问题。

那么,C++对于安全性的实际动作和方向是什么?在之后的CppCon上,萨特表示,安全性并不等同于完美,但将优先解决“易达的安全目标”,包括在标准库中引入更多安全库、消除与安全相关的未定义行为、增加编译时的静态安全规则和动态安全检查。

图片

C++26:2026年中期完成,自C++11以来影响最大的一次变革

萨特在9月的CppCon会议上表示,“C++ 26标准可能会改变我们开发软件的方式”,并将成为自C++11以来对语言影响最大的一次变革。C++ 26标准预计将在2026年中期完成,目前Clang和GCC等编译器中的某些特性已开始逐步实现。

萨特指出了C++ 26的四个关键特性:

·对std::execution(用于异步操作的标准库)的改进,以增强并发性和并行性。

·类型和内存安全性增强,目标是与其他现代、更安全的语言接轨。

·反射和代码生成,这是“我们转向编译时编程的一个重大变化”,也是“可能最具影响力的特性”。

·合约特性,用于指定接口并检查其符合性,包括前置条件、后置条件和状态断言。

萨特在本周的博客中提到,上一个里程碑C++11版本为现代C++引入了auto、lambda表达式和智能指针等特性,而C++ 26的特点将是“默认安全”以及对基于反射的生成型编译时库的全面支持。

萨特对该语言充满热情:“反射/生成带来了无限可能!期待完整标准化和编译器实现!”有开发者在演讲后评论道。

然而,也有开发者对语言的日益复杂表示担忧:“整个语言变得如此复杂。像Cppfront这样的项目有所帮助,但我们需要一个从C++灰烬中崛起的新语言,而不是Rust。”Cppfront是萨特创建的一个实验性编译器,用于验证新概念。

由于需要与遗留代码保持兼容性,因此添加语言特性总是比删除它们更容易。

图片

实施C++新特性,微软有些缓慢

萨特曾在微软从事Visual C++的工作,这是该公司在Windows和Office等关键应用程序中广泛使用的工具。

考虑到萨特在ISO委员会中的职务,Visual C++在实施新的C++特性方面相较于Clang和GCC往往较为缓慢,这一点颇为奇怪。

有人认为,部分原因是因为近年来,微软内部一些知名人士出于安全性和可靠性的考虑,主张转向Rust,Azure首席技术官Mark Russinovich就是其中之一。

图片

改进C++内存安全新思路

当然,C++也在努力实现白宫的内存安全的要求,并不是只有转向Rust这一条可走。

本周Rowe 就提出了一种改进内存管理的TraPC思路,利用编译器的智能,避免不必要的指针检查,以提升性能。他希望编译器能够自动清零越界的指针,从而避免产生危险的“野指针”。

TrapC 的设计理念是让 C 语言保留大致不变的样式,但指针和错误处理以更透明的方式进行。

不过,由于现有的 C++ 标准委员会流程缓慢,Rowe 认为走传统提案路线过于耗时,因此选择直接分叉 C 语言。

参考链接:

https://devclass.com/2024/11/12/iso-c-chair-herb-sutter-leaves-microsoft-declares-forthcoming-c-26-most-impactful-release-since-c11/

C++26 在关键实时安全系统编程能力的支持的改进 C++26 的改进使其成为实时系统编程的有力工具。新特性为开发者提供了更多控制执行时延、提高并行效率和确保类型安全的手段。 阅读详情

相关推荐

库卡机器人外部轴配置全流程:从接线到WorkVisual 6.0实战(附避坑指南)

本文详细解析了库卡机器人外部轴配置的全流程,涵盖从硬件接线到WorkVisual 6.0软件配置的实战步骤。重点介绍了KPP驱动模块连接、电机参数匹配、安全配置激活及零点标定等关键环节,并提供了实用的避坑指南,旨在帮助工程师高效、安全地完成外部轴集成,提升工作站柔性。

weixin_29161785的博客 496

【科普】C++标准与标准委员会,你不得不知的那些事

文章目录ISO标准C 委员会 与 C++ 委员会如何制定标准C++ 的实现参考 ISO标准 这里直接照搬百度百科:https://baike.baidu.com/item/ISO%E6%A0%87%E5%87%86/9818656?fr=aladdin ISO标准是指由『 国际标准化组织 (International Organization for Standardization), ISO 』制订的标准。 国际标准化组织是一个由国家标准化机构组成的世界范围的联合会,现有140个成员国。根据该组织章程,每

weixin_47652005的博客 5965

从二体运动到高精度轨道:STK与MATLAB联动的轨道外推算法演进史

本文探讨了轨道外推算法从二体运动到高精度轨道预报(HPOP)的演进历程,重点分析了STK与MATLAB协同仿真环境下的技术实现与应用。通过对比不同算法的精度与适用场景,展示了HPOP在卫星参数优化和轨道设计中的优势,为航天任务规划提供了高效解决方案。

weixin_29082143的博客 699

现代c++白皮书(C++ 标准委员会)

C++ 标准委员会

记录我目之所及的世界 1万+

白炽灯寿命工程解析:从钨丝蒸发到电压控制的可靠性设计

白炽灯作为一种经典的电光源,其工作原理基于电流通过钨丝产生热辐射发光。在高温下,钨丝会持续蒸发导致灯丝逐渐变细、电阻增大,这是影响其寿命的核心物理机制。从工程角度看,白炽灯的可靠性设计涉及材料科学、热力学和电路设计的交叉,技术价值在于通过理解其失效原理,可以在成本与性能间取得最佳平衡。在实际应用中,电压波动、开关浪涌电流和机械振动是主要寿命杀手,尤其在工业控制、仪器仪表和特定照明场景中,合理的设计能大幅提升系统稳定性。本文深入探讨了钨蒸发、热应力等关键因素,并结合浪涌抑制和降压设计等实战技巧,为工程师提供了

weixin_28684655的博客 569

KV Cache 详解:新手也能理解的 LLM 推理加速技巧

(Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。:如果序列太长,超过了 KV Cache 的存储限制,就需要丢弃最早的 tokens(类似滑动窗口)。时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。,只缓存计算过的 K,VK, V,每次只计算新 token 的 K,VK, V,从而提升推理效率。:如果输入的 prompt 发生变化,之前的 KV Cache 不能复用,必须重新计算。

Harry的博客 7354

C++26标准预览:提升性能和灵活性的特性

C++26标准的推进体现了C++社区不断进步和创新的精神。随着这些新特性和改进的逐步实现,C++开发者将能够更高效地编写高性能、可维护的代码。新特性如合同编程、静态反射和扩展的constexpr支持,将极大地增强C++的功能和灵活性。未来几年,随着C++26的正式发布,开发者们可以期待更多的编译时优化和运行时性能提升。让我们拭目以待,迎接C++26的正式发布。

iShare_Carlos的博客 4979

【Flink】FLink session yarn kerberos认证报错 PortUnreachableException: ICMP Port Unreachable

本篇博客是在上一篇博客:【Flink】FLink session yarn kerberos认证报错 KrbException: Cannot locate default realm还没找到原因的时候做的一次尝试。因为项目需要,我们需要对接华为认证的yarn集群,运行flink任务,我们的任务分为两种,yarn pre-job模式和flink session模式。我们在配置文件中配置如下# kerberos认证需要的东西提交任务的脚本如下。

九师兄 1267

C++委员会决定在C++20中弃用原始指针

C ++ 标准发展迅速。可能开发人员都没有赶上 C ++ 11/14 标准,C ++ 17 就发布了。现在又是时候准备 C ++ 20 了。几周前,C ++ 委员会在佛罗里达州杰克逊维尔举行了一次官方 ISO 会议(2018 年 3 月 12 日至 17 日),他们在这个新规范上做足准备。会议上,除了讨论模块,概念,范围等最大事情之外,C ++ 委员会还讨论出了一个令人瞩目的特性:弃用原始指针!该...

stone15165的博客 1万+

9、硬件工程师笔试面试知识器件篇——三极管(2025版本)

本文全面介绍了三极管的基础知识与应用,包括其结构、类型、工作原理、工作状态、功能、应用场景及特性参数。详细探讨了三极管在信号放大、无线通信、音频设备及医疗设备中的具体应用,并深入分析了设计放大电路时如何平衡增益与噪声、优化偏置电路以提高稳定性、使用负反馈改善性能等关键问题。此外,文章还涵盖了高频电路设计、温度补偿策略、电磁干扰防护等实用内容,为硬件工程师提供了全面的技术参考和设计指导。

XU157303764的博客 7311

Allegro格式PCB转换成Pads操作指导

变量:AEX_BIN_ROOT 值:D: MentorGraphics>PADSVX1.2>SDD_HOME>translators>win32bin (值:软件按装的位置,可以是9.5版本,也可以是VX1.0等不同的版本)。变量:HOME 值:C:Users>win7>AppData>Roaming>SPB_Data (这个值是allegro快捷键存放位置器,也可以随意放置在那个盘,我们可以采用默认的路径)。第4步:打开 PADSLayout软件,然后选择导入文件,选择刚刚处理的 allegro文件。

weixin_54787054的博客 3717

C++ 世界的“名人堂”

人物/组织核心贡献代表作/项目C++ 语言创始人,定义核心特性STL(标准模板库)之父STL(容器、算法、迭代器)C++ 最佳实践布道者《Effective C++》系列标准委员会前主席,语言演进《Exceptional C++》系列现代模板元编程与设计移动语义、<chrono>库实现右值引用和标准库特性孵化器标准库权威阐述开源编译器基石GCC (G++)现代编译器领导者。

ZhiqianXia 830

【01】Python解释器的安装

工欲善其事必先利其器。君欲学PYthon,则必先安装Python解释器。安装过程相对简单,大致跟着如下步骤走即可。

侯小啾技术博客 1258

C++标准委员会网站长什么样子? 怎么看 C++11 标准的正式发布日期?

C++标准委员会官方网站。C++11的正式发布日期。

程序员小坤的博客 875

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【C/C++】C++26新特性前瞻:全面解析未来编程

c++26

YZJincsdn的博客 4797

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C++26 新特性预览(Preview)

本文介绍一些C++26新特性.

一些C++相关的技术笔记或者教程. 3267

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C++ 26 新特性

C++26 是 C++ 语言的下一个重要标准版本,已于 2025 年完成功能冻结。我们来看看 C++26 有哪些新特性。

qq_42561732的博客 962

C++标准委员会的相爱相杀:一场跨越三十年的“吵架大会“

两派各执一词,互不相让。更戏剧性的是,在讨论过程中,还冒出了"弱引用"这个"搅局者",引发了新一轮争论:"弱引用到底要不要?"这场关于智能指针的"宫斗大戏"持续了多年,最终诞生了std::unique_ptr、std::shared_ptr和std::weak_ptr三兄弟,共同守护C++的内存安全,这场架也算吵出了成果。本以为这群技术大牛聚在一起是为了"华山论剑",共同打造编程语言的巅峰之作,没想到却开启了一场长达三十年的"吵架大会",相爱相杀的剧情比八点档电视剧还精彩!第二回合:智能指针的"宫斗大戏"

2501_91651722的博客 423

C++ 26 四大新特性

C++26四大核心特性解析:1. 反射(Reflection)实现"代码生成代码",极大简化模板代码编写;2. 内存安全(Memory Safety)通过消除未初始化变量UB和加固标准库,提升程序安全性;3. 契约(Contracts)引入语言级契约编程,强化函数调用约束;4. std::execution协程模型完善C++20协程功能,提供统一调度框架。这些特性显著提升C++开发效率和安全性,是自模板以来的重要升级。

ejinxian的专栏 653

c++26有什么新功能

c++26有什么新但功能

xie__jin__cheng的博客 3521

C++标准委员会提案解读:未来语言发展方向

C++26标准提案呈现三大技术突破方向:编译期计算能力将实现质的飞跃,通过扩展constexpr支持,允许std::vector等容器在编译期初始化,并引入编译期文件模拟对象,使编译期DSL(领域特定语言)开发成为可能。并发模型将统一线程与协程的编程接口,简化std::jthread与协程的协同工作,并引入更高效的原子操作类型。这些改进延续了C++20模块化、标准库现代化的趋势,通过编译期反射、概念(Concepts)增强等特性,显著提升模板元编程的可靠性。

ydasw34623的博客 997

[240910] LLM 推理框架性能评估:突破“内存墙” | C++26 新特性概览 (第一部分)

- LLM 推理框架性能评估:突破“内存墙” - C++26 新特性概览 (第一部分)

edwinjhlee的博客 1066

C++26标准即将发布,你的嵌入式项目准备好了吗?

掌握C++26在资源受限环境中的高效应用,解决嵌入式系统兼容难题。2025全球C++及系统软件技术大会:嵌入式场景下C++26特性的裁剪适配,深入解析标准演进、关键特性裁剪策略与轻量化实现方法,提升系统性能与可维护性,值得收藏。

QuickTrans的博客 844

【C++未来十年发展蓝图】:权威解读ISO C++26标准与多语言互操作新范式

掌握C++未来十年发展关键路径,解读ISO C++26标准演进与多语言互操作新范式。结合2025全球C++及系统软件技术大会主题“C++与新兴语言的生态协同发展策略”,探讨高性能计算、跨平台开发中的融合方案与工具链优化,提升系统级软件协作效率,值得收藏。

CodeNexus的博客 673

C++26即将发布,Clang 17支持进度到哪了?一文看懂所有新特性适配状态

掌握C++26新特性落地应用,Clang 17支持进展全解析。本文梳理Clang 17对C++26特性的支持情况,结合实战场景说明适用性与编译配置方法,助你提前掌握标准演进趋势。了解最新适配状态,值得收藏。

StepNexus的博客 919

为什么看到这么多人不推荐C++?

前几天逛知乎的时候,看到一个问题:看到这个问题我倒是想吐槽几句了。C语言:我是搞系统编程开发的,操作系统、数据库、编译器、网络协议栈全是我写的。PHP:我是搞后端业务开发的,各种网站系统业务系统是我的拿手好戏Java:我也是搞后端业务开发的,跟楼上抢饭碗的,而且我还能搞大数据分析处理,对了,我还有副业——Android开发。C#:我跟楼上一样,我也有副业——搞Windows应用开发Python:我也可以搞后端开发,我也有副业——爬虫,数据分析。C++:你们说的主业副业我全都能搞!

Z4400840的博客 1064
上一篇: 个人购房不超140平契税降至1%;特斯拉10万员工薪酬数据曝光;校园招聘严禁限定985和211高校
下一篇: 微软Visual C++编译器团队架构师力挺C++26,称其是C++11以来最具影响力的版本
IT界那些事儿
博客等级 码龄6年 2万+粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值