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

起源:界面新闻2026-07-28 04:51:43
字号
超大
尺度

“17c.c++:并非一人之笔”若是是在会商 C++ 的发展史,主题意思是:C++固然由比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)最初设计并推动,但它并不是某一幼我独立实现的文章 。从早期的“带类的C”,到今天蕴含泛型、面向对象、并发和现代尺度库的复杂说话,C++经历了设计者、编译器开发者、尺度委员会、库作者以及全球法式员社区的持久共同建设 。

必要把稳的是,“17c.c++”并不是C++官方尺度中的术语,也不是宽泛使用的技术概想 。它更像是一个文章栏目、页面标签或特定语境中的表白 。若是用户真正想相识的是“C++为何并非一人之笔”,那么答案该当从它的汗青起源、尺度演进和社区合作三个方面来理解 。

从“带类的C”到C++:最初构思也成立在前人成?果之上

20世纪70年代末,斯特劳斯特鲁普在贝尔尝试室起头钻研一种可能支持?抽象数据类型和面向对象思想的说话 。这个项目最初被称?为“C with Classes”,后来逐步发展为C++ 。他但愿在保留C说话效能和底层节造能力的同时,引入更适合大型软件开发的抽象机造 。

但C++并不?是凭空出?现的说话 。它的沉要基础蕴含:

  • C说话:提供了靠近硬件的表白能力、指针、结构化编程模型和成熟的编译实际 。
  • Simula蹬罪言:面向对象思想中的类、继承等概想受到早期说话设计的启发 。
  • Unix开发环境:C和C++都与系统软件开发需要亲昵有关,真实工程问题推动了说话职能的美满 。
  • 法式员社区:大?量使用者不休提出兼容性、机能、可守护性和工程实际方面的?需要 。

因而,斯特劳斯特鲁普是C++的重要首创人和早期设计者,但“首创人”并不蹬宗“所有内容都由一幼我写成” 。说话设计往往是在已有思想、技术基础和现实需要上持续演进的了局 。

C++发展中的几个关键阶段

从功夫线来看,C++的形成并非一次性实现,而是经过了屡次沉构、推广和尺度化 。下面的阶段可能注明它为什么拥有显著的集体创作特点 。

C++发展过程中的代表性阶段
阶段 代表性变动 集体参加体现
1979年前后 起头索求“带类的C” 成立在C说话和早期面向对象思想之上
20世纪80年代? 名称?演变为C++,说话逐步被工程项目选取 编译器开发者和早期用户参加测试、反馈与改进
C++98 形成首个ISO国际标?准 尺度委员会对语法、语义和库进行协商与鉴定
C++11及之后 引入移动语义、lambda、智能指针、并发支持等现代个性 列国专家、编译器团队、库作者和社区共同推动

为什么说C++“并非一人之笔”

说话设计只是第一步

一个说话创意要真正成为可使用的编程说话,还必要界说语律例则、类型系统、对象模型、异常?行为、内存模型和兼容战术 。设计者能够提出方向,但大量细节必须经过实现、测试和持久会商能力不变下来 。

尤其是C++必要兼容相当多的C说话代码,同时还要增长新的抽象能力 。这种“兼容旧世界、支持新个性”的指标,使很多设计决策不能只由幼我偏好决定,而要综合机能、可移植性、汗青代码和开发习惯等成分 。

尺度委员会决定说话若何被共同遵守

C++尺度并不是某位作者的个人文档 。它由有关国际尺度化组织下的专家委员会进行会商、提案、审查和订正 。来自不?同国度、企业、大学和开源项主张参加者会萦绕一个职能的必要性、语义、实现成本以及向后兼容问题发展持久会商 。

一个个性即便提出得很早,也可能由于复杂度过高、实现不成熟或与寂仔规定矛盾而被批改、推迟,甚至取缔 。最终颁布的尺度,是多方技术判断和协商后的了局 。

编译器和尺度库让说话真正落地

尺度只描述说话该当若何工作,用户能否不变使用,还取决于编译器和库的实现 。GCC、Clang、微软Visual C++等工具链别离经历了持久开发,持续处置模板、优化、诊断、调试、平台兼容和新尺度支持等问题 。

尺度库同样不是一幼我实现的单一附件 。容器、算法、迭代器、智能指针、线程工具和文件系统等组件,都凝聚了分歧阶段的设计经验 。泛型编程思想以及尺度模板库的?发展,也受到多位钻研者和工程?师的影响 。

“逾越世纪的集体智慧”应该怎么理解

把C++称作“一段逾越世纪的?集体智慧赞歌”,是一种带有文学色彩的概括 。这里的“逾越世纪”重要是指它从20世纪末的早期发展,一连到21世纪的持续尺度演进,并不暗示C++发源于17世纪 。若是“17c”被理解为英文中的“17th century”,那就与C++的?真事氟史不符 。

更正确的理解方式是:

  • 它继承了C说话及更早编程说话的技术思想 。
  • 它由早期设计者确定方向,并由后续贡献者不休补?充和建改 。
  • 它通过国际尺度化流程形成统一规定 。
  • 它依附多个编译器、库和开发工具项目服务于现实用户 。
  • 它在大?量真实软件项主张反馈中持续扭转 。

所以,“并非一人之笔”并不是否定斯特劳斯特鲁普的贡献,而是预防把一门复杂说话的全数汗青简化成幼我传记 。幼我能够点燃起点,但持久可用的技术系统通常必要很多人的接力 。

进建C++时,为什么要相识这段汗青

理解C++的形成?过程,有助于诠释它为什么同时保留了底层节造能力和现代抽象工具,也能援手进建者正确对待说话中的复杂性 。

例如,C++中寂仔靠近C风格的指针和手动资源治理,也有类、模板、智能指针、领域循环和尺度容器 。这些内容并非来自统一时期、统一种设计指标 。旧个性强调效能和兼容,新个性则更多关注安全性、表白力和工程守护 。

进建时不用把所有语法都当成孤立规定,而能够先理解它们解决的问题:

  • 使用类和封装,是为了组织复杂状态与行为 。
  • 使用模板和泛型算法,是为了复用高机能代码 。
  • 使用RAII和智能指针,是为了更不变地治理资源 。
  • 使用现代并发工具,是为了适应多核和复杂利用场景 。
  • 关注尺度版本,是为了判断某种写法的可用领域和编?译器支持情况 。

一句话厘清“17c.c++:并非一人之笔”

若是这句话被用作C++汗青主题的标题,它表白的是:C++由幼我首创构思开启,却由前沿思想、尺度委员会、工具链团队、库作者和全球开发者共同塑造 。它不是某幼我一次实现的文章,而是一项从?20世纪一连至21世纪、在不休兼容与创新中成长起来的技术成就 。

校对:杨澜(EsQwfnuiYlIN1WnrHzZXAl9xeabvMO7n92)

责任编纂: 杨澜
为你推荐
用户评论
登录后能够讲话
网友评论仅供其表白幼我见解,并不批注证券时报态度
暂无评论
天{原}股份:公司的绿色循环经济产业链一向是公司在行业中的主题竞争力之一
【网站地图】