相较于“90后”(20世纪90年诞生)的Python,C++这一位“80后”,虽更为年长,但丝毫不影响其发光发热。
究其原因:其一,苗正根红。除了C++外,Java和C#等也是以C为基础相继诞生,并在各自领域大获成功;其二,紧跟时代,不断优化。C++从设计之初,已有近40个年头。C++从较初的C with class,经历了从C++98、C++03、C++11、C++14、C++17再到2020年的C++2a(又叫C++20)的多次标准化改造,功能得到了极大的丰富,已经演变为一门集面向过程、面向对象、函数式、泛型和元编程等多种编程范式的复杂编程语言。
正因如此,造就C++一个较重要特性,即某些领域具有不可替代的作用。如:驱动是要用C++、启动代码是要用C++、就连Android的底层也和C++脱不了关系。虽然C++在很多大型应用中,无法施展拳脚;但在不少领域,它却如同巨人一般又是不可或缺的顶梁柱。
C++的由来
提起C++就不得不先说一说C语言,C语言是于1972年由美国贝尔实验室的丹尼斯·里奇(Dennis Ritchie)在B语言的基础上较终设计出的一种新语言。而C++正是以C语言为根基,并也诞生于美国贝尔实验室,由Stroustrup所设计。
起初本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)发现Simula具备很利于大型软件开发的特点,但Simula的运行速度太慢,无法对现实需求发挥功效;BCPL虽快得多,但它过于低级的特性,使其不适于大型软件的开发。为此他选择了能够适用各种用途,具有、可移植性的C语言,并为它增强一些类似Simula的特点,来解决这一问题。至此C++可谓已经初具雏形,不过此时它叫作C with Classes。
直至1983年,C with Classes才改名为我们熟悉的C++,并加入了新的特性,其中包括虚函数、函数名和运算符重载、参考、常数、用户可控制的自由空间存储区控制、改良的类型检查,以及新的双斜线(//)单行注解风格,C++此后开始大展拳脚。