委员会

委员会:WG21

ISO C++ 委员会称为 WG21,正式名称为 ISO/IEC JTC1(第一联合技术委员会) / SC22(第二十二分委员会) / WG21(第二十一工作组)。WG21 成立于 1990-91 年,由 ISO/IEC JTC1/SC22 成员国的认可专家组成,他们对 C++ 工作感兴趣。

有关当前和过去成员的部分列表,请参见FAQ wiki 的 WG21 成员页面

wg21-1990-2023c.pngWG21 的官员是

  • 召集人:Herb Sutter (Citadel Securities)。召集人决定共识、主持工作组、设定工作组会议时间表(“召集”会议)、任命研究组,并对工作组的工作向 ISO 更高级别(SC22、JTC1 和 ITTF)负责。
  • 副召集人:John Spicer (Edison Design Group)根据 WG21 成立以来的传统,召集人将 WG21 全体会议的主持权委托给美国国家委员会主席,后者也分担其他行政工作并非正式地担任副召集人(JTC1 中的其他分委员会和工作组也是如此)。截至 2024 年,JTC1 正在考虑将“副召集人”设为所有工作组的官方角色。
  • 秘书:Nina Ranns秘书负责记录和分发 WG21 会议纪要。

此外,以下角色对于我们的运行、组织和会议至关重要:

  • 项目编辑:Thomas Köppe (Google),Michael Wong。 项目编辑是最终负责将委员会批准的更改应用于标准和技术规范草案的人员。
  • 会议后勤:Jens Maurer。 后勤官员负责与当地主办方合作,确保每次会议的当地安排适合委员会的需求,从会议室的数量/大小/时间到餐饮安排。
  • 电子邮件列表:Detlef Vollmann (Vollmann Engineering)。 邮件列表官员负责协助人们加入和管理他们在委员会内部电子邮件列表中的成员资格,以及相关的设置和维护。

在大多数会议上,我们通常有专家正式代表 20 多个国家机构。最近参会的国家包括奥地利、保加利亚、加拿大、中国、捷克共和国、丹麦、芬兰、法国、德国、爱尔兰、以色列、意大利、日本、哈萨克斯坦、韩国、荷兰、挪威、波兰、葡萄牙、罗马尼亚、俄罗斯、斯洛伐克、西班牙、瑞典、瑞士、英国和美国。

子组和研究组

委员会被组织成一个三阶段的流水线,由几个子组组成,每个子组由指定的组长负责。注意“SG”代表“研究组”。

wg21-structure-2025-03.png方向和 ABI 子组是咨询组,分别就演进方向和特定提案的 ABI 影响提供建议。

  • 管理组,即 AG:Nevin Liber (阿贡国家实验室)
  • 方向组,即 DG:轮值主席。2025 年主席:Michael Wong
  • ABI 审查组,即 ARG:Daveed Vandevoorde (Edison Design Group),助理主席 Jason Merrill (IBM)。

第三阶段(措辞和一致性)有两个组

  • 核心语言措辞组,即 CWG:Jens Maurer,助理主席 Jason Merrill (IBM),Jonathan Caves (Microsoft)。
  • 库措辞组,即 LWG:Jonathan Wakely (IBM),助理主席 Jeff Garland (CrystalClear Software),Dietmar Kuehl (Bloomberg),Bryan St. Amour,Christian Trott

CWG 和 LWG 负责维护“标准规范”措辞以及设计组和 SG 变更提案的一致性。

第二阶段(设计和目标)有两个以相同方式划分的组

  • 核心语言演进组,即 EWG:JF Bastien,助理主席 Hana Dusíková (Woven by Toyota) Erich Keane (NVIDIA)。
  • 库演进组,即 LEWG:Inbal Levi (Microsoft),助理主席 Fabio Fracassi (CODE University of Applied Sciences),和 Andreas Weis。

EWG 和 LEWG 分别负责涉及语言和标准库扩展的新功能。除了每个组直接处理的扩展之外,他们还审查在特定领域 SG 中开发的语言和库扩展的工作风格。他们还建议每个新功能应包含的目标载体(国际标准或技术规范)。

第一阶段(领域特定调查和孵化)由研究组(SG)组成,他们在 WG21 全体面对面会议期间分组会议,也可以在会议之间独立地进行面对面或电话会议。SG 的工作最终由相应的中央组审查,这有助于确保一致性。例如,像网络功能这样的库功能,它们的领域特定设计在 SG 内部完成,它们的库设计由 LEWG 审查,它们的库规范措辞由 LWG 审查。

领域特定研究组如下。

注意:标记“*”的目前处于休眠状态——提案已进入核心组,如果我们在该主题领域收到新论文,SG 可能会在将来重新激活。

  • SG1,并发:Olivier Giroux (Apple),助理主席 Hans Boehm (Google) 和 Ruslan Arutyunyan (Intel)并发和并行主题,包括并发内存模型和标准的相关条款。
  • * SG2,模块。
  • * SG3,文件系统。
  • SG4,网络:Jeff Snyder (PDT Partners),助理主席 Gašper Ažman (Citadel Securities)网络库的开发超越了网络 TS,以期纳入标准。
  • * SG5,事务内存。
  • SG6,数值:Matthias Kretz (GSI Helmholtz 重离子研究中心),助理主席 Lisa Lippincott (Tanium) 和 John McFarlane。数值主题,包括但不限于定点、十进制浮点和分数。
  • SG7,编译时编程:Hana Dusíková (Woven by Toyota),助理主席 Jeff Snyder (PDT Partners)。最初专注于编译时反射能力,随后扩展到一般编译时编程。
  • * SG8,概念。
  • SG9,Ranges:Jonathan Müller (think-cell),Zach Laine标准库中与 Range 相关改进。
  • SG10,功能测试:Barry Revzin (Jump Trading),助理主席 Jonathan Wakely (IBM)随着我们不断扩展标准,为可移植代码提供一种检查特定 C++ 产品是否已实现某个功能的方法。
  • * SG11,数据库。与数据库相关的库接口。
  • * SG12,未定义和未指定行为。
  • * SG13,HMI & I/O(人机界面)。选定的低级输出(例如,图形、音频)和输入(例如,键盘、指向)I/O 原语。
  • SG14,游戏开发和低延迟:Michael Wong游戏开发者和(其他)低延迟编程要求感兴趣的主题。
  • SG15,工具:Michael Spencer (Apple),助理主席 Ben Boeckel (Kitware)。与创建标准 C++ 开发工具相关的主题,包括但不限于模块和包管理。
  • SG16,Unicode:Tom Honermann (Intel),助理主席 Steve Downey (Bloomberg)。与 C++ 中的 Unicode 文本处理相关的主题。请参阅GitHub SG16 介绍页面
  • SG17,EWG 孵化器:Erich Keane (NVIDIA),助理主席 James Touton。在 EWG 之前的一个流水线阶段,用于尚未准备好进入 EWG 或 EWG 尚未有带宽考虑的语言提案。
  • SG18,LEWG 孵化器:Billy Baker (NVIDIA),助理主席 Nevin Liber (Argonne National Laboratory)。 在 LEWG 之前的一个流水线阶段,用于尚未准备好进入 LEWG 或 LEWG 尚未有带宽考虑的库提案。
  • SG19,机器学习:Michael Wong,助理主席 Phil Ratzloff。 解决并提高 C++ 支持快速迭代、更好地支持数组、矩阵、线性代数、内存数据传递计算、缩放和图形以及图形编程优化的能力。
  • SG20,教育:JC van Winkel,助理主席 Florian Sattler。 为 C++ 教育的现代课程材料提供指导。
  • SG21,契约:John Spicer (Edison Design Group),助理主席 Timur Doumler。 与契约式编程相关的讨论,用于检查、文档、分析及其他目的。
  • SG22,WG21/WG14 C 和 C++ 联络:Nina Ranns (WG21) 和 JeanHeyd Meneide (WG14, 荷兰),助理主席 Davis Herring (洛斯阿拉莫斯国家实验室)讨论 C 和 C++ 联络和协调。
  • SG23,安全和安保:Roger Orr (BSI),助理主席 Matthew Butler。 讨论语言和标准库中与安全和安保相关的问题,包括但不限于类型和内存安全以及漏洞/利用。