Microsoft STL项目C++23标准支持现状与未来展望
C++23标准支持现状
Microsoft STL团队近期公布了关于C++23标准支持的最新进展。根据官方信息,STL库层面的C++23功能已基本完成,但编译器前端(C1XX)对C++23核心语言特性的支持尚未开始。这种库实现领先于编译器支持的情况在C++标准化进程中并不罕见。
目前开发人员只能通过/std:c++latest
标志来启用C++23特性,这个标志会触发"实验性功能"的警告提示。值得注意的是,虽然标记为"实验性",但团队对待这些新特性的bug修复优先级实际上很高,通常仅次于回归问题的修复。
为何尚未提供正式标志
STL团队解释了为何尚未提供正式的/std:c++23
标志,主要原因包括:
-
ABI稳定性考量:团队吸取了C++20标准实施时的经验,当时过早锁定ABI导致
<format>
等组件需要频繁调整。现在他们计划在STL和编译器都实现功能完整后,再观察至少两个更新周期(约半年)才锁定ABI。 -
功能完整性要求:Microsoft采取的策略是必须同时满足STL和编译器都实现C++23所有特性后,才会提供正式标志。这与某些其他编译器允许部分实现就提供标志的做法不同。
-
并行开发挑战:当前STL团队主要依靠社区贡献者来完成C++23剩余特性,如flat_set、flat_map和generator等组件。同时编译器团队尚未开始C++23核心语言特性的工作。
技术实现细节
在技术实现层面,/std:c++latest
与未来/std:c++23
的主要区别在于ABI稳定性保证。当前模式下,团队保留随时调整类内存布局的权利以优化性能和正确性。而一旦进入正式标志阶段,这些内部表示将被锁定以保证二进制兼容性。
值得注意的是,虽然/std:c++latest
理论上可能包含C++26的特性,但实际上Microsoft目前并未实现任何C++26专属功能,仅实现了被追溯认定为缺陷修复的改进。
社区参与与开源展望
STL团队积极鼓励社区参与C++23剩余特性的实现工作。目前几个关键分支(feature/flat_map、feature/flat_set和feature/generator)都开放给贡献者。团队承诺会优先处理这些特性分支的PR,保持较快的合并节奏。
关于编译器前端开源的问题,虽然技术上有可能性,但考虑到当前公司环境和资源限制,短期内不太可能实现。团队更现实的近期目标是先将VCRuntime开源,这已经是相对较小的请求了。
未来展望
根据当前进度,C++23的正式支持可能还需要相当一段时间。开发者在生产环境中使用新特性时,需要权衡功能需求与稳定性要求。团队建议关注特性测试宏(_cpp*)来精确控制功能使用,而非完全依赖标准版本标志。
随着C++标准演进加速,Microsoft可能需要重新评估其实现策略,以平衡功能完整性要求与开发者对新特性的迫切需求。不过在当前阶段,稳定性仍是团队最优先考虑的因素。
- DDeepSeek-V3.1-BaseDeepSeek-V3.1 是一款支持思考模式与非思考模式的混合模型Python00
- QQwen-Image-Edit基于200亿参数Qwen-Image构建,Qwen-Image-Edit实现精准文本渲染与图像编辑,融合语义与外观控制能力Jinja00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~042CommonUtilLibrary
快速开发工具类收集,史上最全的开发工具类,欢迎Follow、Fork、StarJava04GitCode百大开源项目
GitCode百大计划旨在表彰GitCode平台上积极推动项目社区化,拥有广泛影响力的G-Star项目,入选项目不仅代表了GitCode开源生态的蓬勃发展,也反映了当下开源行业的发展趋势。06GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!C0298- WWan2.2-S2V-14B【Wan2.2 全新发布|更强画质,更快生成】新一代视频生成模型 Wan2.2,创新采用MoE架构,实现电影级美学与复杂运动控制,支持720P高清文本/图像生成视频,消费级显卡即可流畅运行,性能达业界领先水平Python00
- GGLM-4.5-AirGLM-4.5 系列模型是专为智能体设计的基础模型。GLM-4.5拥有 3550 亿总参数量,其中 320 亿活跃参数;GLM-4.5-Air采用更紧凑的设计,拥有 1060 亿总参数量,其中 120 亿活跃参数。GLM-4.5模型统一了推理、编码和智能体能力,以满足智能体应用的复杂需求Jinja00
Yi-Coder
Yi Coder 编程模型,小而强大的编程助手HTML013
热门内容推荐
最新内容推荐
项目优选









