17c.c++并非一人之笔,,,C++17尺度是若何共同实现的

起源::界面新闻2026-07-26 22:54:00
字号
超大
尺度

“17c.c++:并非一人之笔”若是是在会商 C++17,,,主题意思是::C++17 并不是某一位法式员单独写出的法式,,,也不?是一小我单?独决定的说话版本,,,而是由说话设计者、、、尺度委员会成?员、、、提案作者、、、编译器与尺度库守护者以及开发者社区共同推动形成的标?准。。。

必要先澄清的是,,,“17c.c++”并不是 C++ 尺度的正式写法。。。技术资猜中通常写作“C++17”,,,它指的是 C++ 在 2017 年颁布的一代说话标?准。。。因而,,,“并非一人之笔”强调的是 C++17 的形成过程,,,而不是在注明某个具体源代码文件的作者数量。。。

C++的最初设计者,,,不等于C++17的唯一作者

C++ 的?早期设计与 Bjarne Stroustrup 亲昵有关。。。他在 C 说话基础上吸收了 Simula 等?说话的面向对象思想,,,逐步设计并发展出 C++。。。从说话汗青的角度看,,,把他称为 C++ 的重要首创人或最初设计者是合理的。。。

但?一门说话从早期设计走向成熟尺度,,,涉及的内容远远超过某小我可能独立实现的领域。。。语律例则、、、类型系统、、、模板、、、异!、、、并?发、、、尺度库、、、编译器行为和兼容性都必要持久会商。。。C++11、、、C++14、、、C++17 以及后续尺度,,,都是在既有成就上不休订正和扩大的了局。。。

所以,,,下面两种说法表白的对象并不一样::

“C++首创人”与“C++17共同制订者”的区别
说法 正确寓意
C++的重要首创人 强调说话早期的主题设计和汗青起点
C++17的作者 容易造成误会,,,由于尺度由多人合作制订
C++17提案作者 通常只对应某项个性或某组设计,,,并不代表整套尺度
C++17尺度的制订参加者 蕴含委员会成员、、、提案作者、、、审阅者、、、实现者和反馈者等

哪些人共同写下了C++17

C++17 的尺度化工作重要在 ISO/IEC 系统下的 C++ 尺度工作组 WG21 中推动。。。WG21 并不是一个由单一掌管人闭门写作的?团队,,,而是由来自分歧国度、、、公司、、、钻研机构和开源项主张专家共同参加。。。分歧参加者关注的重点也不一样。。。

  • 说话设计者::掌管提出或美满语法、、、类型系统、、、模板机制、、、常量表白式等说话职能,,,使新个性可能与既有 C++ 规定维持一致。。。
  • 尺度库设计者::萦绕容器、、、算法、、、字符串?、、、文件系统和通用工具等内容提出规划,,,处置接口定名、、、类型约束、、、异常行为和可移植性问题。。。
  • 提案作者::通 ;嵴攵阅掣雒魅肺侍庾刺岚,,,注明使用场景、、、设计弃取、、、示例代码和可能的兼容性影响。。。
  • 主题说话与库工作组::会审查提案?的技术细节和尺度措辞,,,找出歧义、、、矛盾或无法实现的部门。。。
  • 编译器和尺度库守护者::通过实现试验验证规划是否可行,,,并反馈编译成本、、、二进制兼容性、、、错?误诊断和现实使用中的问题。。。
  • 通常开发者和用户::真实项目中的反馈可能露出设计在大型工程、、、跨平台开发和旧代?码兼容方面的缺点。。。

因而,,,一项职能可能有明确的提出者,,,但最终进入标定时,,,往往已经经过多轮批改。。。提案作者提供了重要起点,,,其他参加者则共同决定它是否成熟、、、若何表述以及怎么与整个说话生态兼容。。。

一个C++17个性若何进入正式尺度

“并非一人之笔”不?仅体此刻参加者好多,,,也体此刻尺度形成有一套反复审查的过程。。。一个设法从提出到成为 C++17 的正式内容,,,通常要经历以下环节::

  • 先发现现实问题::开发者可能必要更安全的类型封装、、、更简洁的语法,,,或者短缺可移植的文件系统接口。。。
  • 形成书面提案::提案必要诠释问题、、、给出?接口或语法设计,,,并注明与现有规定的关系。。。
  • 会议会商和批改::委员会会比力分歧规划,,,会商定名、、、天堑前提、、、机能、、、谬误处置和向后兼容。。。
  • 进行实现验证::编译器和尺度库实现者会尝试支持该规划,,,实际中发现的问题可能促使提案重新设计。。。
  • 审查尺度措辞::职能设计获得认可后,,,还必要把它写成足够精确的尺度说话,,,预防分歧实现产生不一致的了局。。。
  • 经过正式选取::只有实现相应的委员会流程并纳入尺度文本,,,职能才成为 C++17 的尺度内容。。。

这个过程也意味着,,,并不是所有看起来有价值的建议城市进入某一版尺度。。。有些提案必要持续美满,,,有些会由于实现价值、、、兼容性风险或短缺共识而推迟到后续版本,,,还有一些规划可能最终被其他设计取代。。。

C++17中的代表性成就为何能体现合作

C++17 引入了多项开发者时时使用的说话和库职能。。。例如,,,结构化绑定让法式能够更方便地拆解返回值和聚合对象 ;if constexpr 改善了模板代码中的前提分支 ;折叠表白式简化了可变?参数模板的处置 ;内联变?量解决了部门头文件界说和链接方面的问题。。。

在尺度库方面,,,std::optional 用于表白“可能没有值”的?了局,,,std::variant 提供了类型安全的多类型存储,,,std::any 适合保留类型在运行时才确定的对象,,,std::string_view 能够在不?占有字符串内容的情况下提供轻量接见。。。文件系统库也在这一版本中成?为尺度库的重要组成部门。。。

这些职能背后通常?都有具体提案和重要贡献者,,,但从“某个职能的设计者”推导出“C++17整套尺度的唯一作者”并不正确。。。职能之间必要维持统一的定名风格、、、性命周期规定、、、异常约定和泛型接口,,,这些协调工作自身就必要集体审查。。。

阅读这句话时最容易产生的误会

若是在文章标题、、、视频标题或项目注明中看到“17c.c++:并非一人之笔”,,,能够从三个层面理解。。。第一,,,它可能是在用不正式的写法指代 C++17 ;第二,,,它强调的是尺度化合作,,,而不是否定某位设计者的贡献 ;第三,,,它不愿定能证明某个具体项目或页面有几多作者。。。

若是搜索了局中的“17c.c++”现实是某个网站名称、、、文章名称、、、代码仓库或内部项目代号,,,那么仅凭这几个词无法确认它的具体作者。。。此时应查看页面中的高低文、、、项目注明、、、版本纪录或作者信息,,,不能把 C++17 的尺度化汗青直接套用到该项目上。。。

对开发者而言,,,这种理解有什么现实意思

理解 C++17“并非一人之笔”,,,有助于正确对待尺度、、、编译器和代码示例之间的关系。。。尺度描述的是说话和库该当具备的规定,,,不等于某个编译器的源代码 ;编译器与尺度库则掌管把这些规定具体实现出来。。。即便某项职能已经属于 C++17,,,具体编译器版本也可能存在支持水平差距。。。

编?写 C++17 项目时,,,应明确设置对应的说话尺度选项,,,并查抄编译器和尺度库是否支持所使用的职能。。。团队还必要关注旧代码兼容、、、分歧平台行为、、、第三方库要求和构建环境,,,而不能只凭据某个标题判断“能否直接使用”。。。

因而,,,“17c.c++:并非一人之笔”更正确的诠释是::C++17 有清澈的汗青设计脉络,,,也有具体贡献者,,,但它最终是一份经过提案、、、会商、、、实现、、、审查和正式选取的集体成就。。。把小我贡献与社区合作同时看见,,,才是理解 C++17 起源的齐全方式。。。

校对::李怡(ZH9V9Y8KP8kc5f4CrSfTIMe6tSBlsdP)

责任编纂:: 李怡
为你推荐
用户评论
登录后能够讲话
网友评论仅供其表白小我见解,,,并不批注证券时报态度
暂无评论
美联{储}高,官::能源通胀持续超预期,,,AI或引发经济过热风险
【网站地图】