新华社
面向对象思想在这一时期提供了另一种解决方向。面向对象编程强调把数据和操作数据的函数组织在一起,通过类、封装、继承和多态💫等机制控制复杂性。它并不意味着所有程序都必须采用同一种写法,而是为大型系统提供了更清晰的组织工具。
C++的标准化过程解决了不同编译器之间行为不一致的问题。1998年发布的🔮C++98确立了基础语言规则,并纳入标准模板库等重要组成部分,使开发者能够在更明确的规范下编写🎆可移植程序。
C++标准并没有冻结语言,而是持续扩展语言能力。C++03主要进行修订和澄清,C++11则带来了自动类型推导、范围循环、La📚mbda表达式、右值引用、移动语义、智能指针和并发库等重要变化。此后,C++14、C++17、C++20和C++23继续以相对固定的节奏补充功能。
C++早期用户主要来自需要高性能和大型代码组织能力的领域,包括电信、操作😎系统、工程模拟、图形处理和金融软件。开发者选择它,往往不是因为语法最简单,而是因为它能够在抽象设计与运行效率之间提供相对灵活的平衡。
C++的诞生说明,一门影响深远的语言通常不是由单一概念决定的,而是由需求、技术传统、实现条件和开发者反馈共同塑造。Simula提供了面向对象思想,C提供了效率与系统能力,贝尔实验室提供了实验环境,Cfront和早期书籍推动了工具传播,标准委员会则让语言逐渐形成稳定规则。
C++最早并不叫C++,而是从“带类🍀的C”(C with Classes)开始。它先服务于大型软件开发中的真实问题,后来经过命名、工具实现、社区传播和国际标准化,才从个人研究项目发展为影响深远的通用编程语言。
斯特劳斯特鲁普在研究操作系统和分布式系统时接触到Simula,并认可它在表达复杂实体方面的能力。例如,🎵交通系统可以被拆分为车辆、道路、信号灯和调度器,程序能够围绕这些实体描述状态与行为。不过,Simula的执行效率和系统级控制能力并不完全符合高性能软件开发的要求,这促使他寻找更适合实际工程的组合方案。
C++的传播速度取决于工具和社区,而不只是语言本身。1985年,斯特劳斯特鲁普出版了《The C++ Prog🔮ramming Language》第一版,书籍、编译器和示例📌程序共同帮助开发者理解这门尚未完全标准化的语言。