中国新闻网
C++的思想来源之一是Simula。Simula由挪威计算机科学家奥勒-约翰·达尔和克里斯汀·奈加特等人设计,最初用于模🌅拟复杂系统。Simula 67将类、对象、继承和虚函数等概念带入编程语言设计,对后来的面向对象🍀语言产生了重要影响。
早期实现采用了一个非常关键的工程策略:新语言的源🌈代码先被转换成C代码,再交给成熟的C编译器处理。这个❤️转换器后来被称为Cfront。这样的做法降低了实现门槛,也让新语言能够借助当时已经广泛使用的C编译器和工具链逐步传播。
Cfront对C++早期发展具有双重作用。一方面,它使面向对象特性可以建立在成熟的C生态之上;另一方面,它也带来了编译速度、错误提示和语言特性表达能力方面的限制。随着C++语法越来越丰富,依赖转换器的方式逐渐难以承受,现代C++编译器最终转向直接解析和生成目标代码。