
今天小编讲C++的前世今生、,一起来看看吧!!
C++是什么?对于这个问题大家都有所了解,C++是一门高级语言,是一种通用的、面向对象的编程语言,它是C语言的扩展版,需要先把源代码先编译成机器语言的可执行程序,然后再执行可执行程序。
C++世界的“四大神兽”

C++的发展史
从B到C
这就要从1967年说起,著名的计算机科学家丹尼斯·里奇(Dennis Ritchie)与他的同事肯·汤普森(Ken Thompson)在美国AT&T的贝尔实验室工作,他们发现用DEC PDP-7这种早期计算机写程序很困难,只能使用繁琐的汇编语言编程。
而且在执行的时候,用汇编语言编写的程序并不能被计算机直接识别和执行,我们还需要通过一个叫汇编程序的工具将汇编语言重新翻译成机器语言,然后交由计算机执行。
虽然,汇编语言借助助记符和地址符号在一定程度上降低了编写程序的难度,但是因为它接近计算机底层,因而它所编写出来的程序依然难以阅读和理解,程序的开发效率非常低下。
为了解决这个难题,汤普森设计了一种高级程序语言来代替汇编语言,并将其命名为B语言。为什么叫B语言呢,因为他为了纪念自己的妻子,用妻子名字的第一个字母B来命名。好羡慕,妥妥情圣一枚。
那C语言如何来的呢?由于B语言本身设计的缺陷,使得汤普森在内存的限制面前一筹莫展。到了1973年,里奇对B语言进行了改良,从而赋予了这门新语言强有力的系统控制能力,同时,新语言也做到了简洁而高效。里奇把它命名为C语言,意为B语言的下一代程序设计语言。
从C到C++
刚开始这门新语言并不叫C++,而是叫C with class。1979年4月,同样是来自贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士与同事接受了一项工作——尝试分析UNIX的内核。因为没有适合的工具,所以工作进度很慢。
同年的10月,贾尼·斯特劳斯特卢普设计了一个预处理器,称之为“Cpre”。所谓预处理程序,就是在源程序文件被最终编译之前,对其进行预先处理的程序。在这个过程中,贾尼·斯特劳斯特卢普萌生创造一门语言的想法。
贝尔实验室很赞同他的这个想法,就让他组织了一个开发小组,专门研究。
当时C语言已居于老大的地位,想要让C++脱颖而出,困难重重。
C++ 当时面临两个挑战:第一,C++ 要在运行时间、代码紧凑性和数据紧凑性方面与C语言相媲美;第二,C++ 要尽量避免在语言应用领域的限制。在这种情况下,最简单的方法就是继承C语言的一些特性,让C++ 语言具备C语言的各种优点。
最后通过一系列的研究,C++ 具备了多种程序设计语言的优秀基因,既系出名门,又博采众家之长,从而完成了从C到C++ 的进化。
很多朋友们在学习C++之前都是先学习C语言,拥有了C语言基础,又因为C语言与C++有天然的血脉关系,这使得大家可以对C++轻松上手。
但C语言与C++又有本质区别,这就是C++ 比C多出来的两个“+”号。如果说其中一个“+”号代表了C++ 比C语言多出来的体现面向对象思想的类机制,那么另外一个“+”号则代表了C++ 全新添加的标准模板库,正是这两个“+”号将两者区分开来。
如果零基础的小白学习C++,那首先就要学习一下C语言,在有了C语言基础后,再将学习和理解的重点放在面向对象思想的类机制和标准模板库这两个方面,这样才能学习到C++ 语言的精髓。

END
下期精彩继续
等你来哦!
👇👇👇



