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

起源:界面新闻2026-07-28 05:08:10
字号
超大
尺度

“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 起源的齐全方式。

校对:张大春(EsQwfnuiYlIN1WnrHzZXAl9xeabvMO7n92)

责任编纂: 张大春
为你推荐
用户评论
登录后能够讲话
网友评论仅供其表白幼我见解 ,并不批注证券时报态度
暂无评论
“建工爷‘叔’”见证回转,时刻!上海建工单日暴涨7.69%现曙光
【网站地图】