中国网
面向对象思想在这一时期提供了另一种解决方向。面向对象编程强调把数据和操作数据的函数组织在一起,通过类、封装、继承和多态等机制控制复杂性。它并不意味着所有程序都必须采用同一种写法,而是为大型系统提供了更清晰的组织工具。
C++的前身“带类的C🎵”始于1979年。当时斯特劳斯特鲁普在💯贝尔实验室开始尝试为C增加类机制,希望在不牺牲执行效率的前提下,改善大型程序的结构。
C++标准并没有冻结语言,而是持续扩展语言能力。C++03主要进行修订和澄清,C++11则带来了自动类型推导、范围循环、Lambda表达式、💡右值引用、移动语义、智能指针和并发库等重要变化。此后,C++14、C++17、▶️C++20和C++23继续以相对固定的节奏补充功能。
C++的诞生:一段跨越时空的史诗,核心并不是某一天突然出现了一门全新的语言,而是一次持续多年的工程实践:丹麦程序员比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)在贝尔实验室工作期间,将Simula对对象和抽象的支持,与C语言的效率、可移植性和底层控制能力结合起来,逐步形成了今天的C++。
“C++”并不表示C语言的简单👍升级版。新语言既要与C保持较高程度的兼容,又要加入类、继承、虚函数、函数🌈重载、运算符重载和模板等机制,因此设计者必须在表达能力、运行效率、旧代码兼容性和实现复杂度之间不断权衡。