1.1 C++语言概述
微视频
C++是一种静态类型的、通用的不规则编程语言,支持过程化编程和面向对象编程,它综合了高级语言和低级语言的特点。
1.1.1 C语言与C++语言的关系
C++语言最初的开发宗旨是作为C语言的继任者,可以说,C++语言进一步扩充和完善了C语言。但不同于C语言,C++是一种面向对象的语言,实现了继承、抽象、多态和封装等概念。C++语言还支持类,而且类包含成员数据及操作成员数据的成员方法。其结果是,程序员只需要考虑数据及要用它们来做什么。一直以来,很多C++编译器都支持C语言。
☆大牛提醒☆
虽然C++是在C语言的基础上发展起来的一种语言,但它不是C语言的替代品或C语言的升级。C++语言和C语言是兄弟关系,故没有谁比谁先进的说法。
1.1.2 C++语言的特点
相比C语言而言,C++语言是一种年轻的语言。C语言曾以其简洁明了的结构化编程成为主流编程语言,当时很多程序员从事C语言程序开发。C++以C语言为基础,加入面向对象概念,不仅顺应了当时的潮流,还简化了C语言程序设计到C++语言程序设计的转变过程。
如今,C++仍然是一种主流编程语言,这足以证明C++是一种优秀而又强大的编程语言。其具有以下几个优点。
(1)C++应用范围十分广泛。C++的应用几乎无所不包,从科学计算到网络应用程序、从分布式应用到移动设备应用、从系统级软件到计算机游戏应用都有C++靓丽的身影。
(2)C++在硬件级编程方面。由于C++包含了C语言特性,因此对于硬件驱动的开发,自然也游刃有余。
(3)C++编程的高效性。相比其他面向对象编程语言,C++的执行效率更高。
(4)C++类库执行。C++的标准库包含了大量模板、通用算法,能够大大提高开发效率。
(5)C++遵循ANSI标准。标准的建立不仅仅是所有程序员的福音,也使C++的进一步发展成为可能。标准化使C++编写的程序从一台计算机上移植到另一台计算机上成为可能。
1.1.3 C++的发展历程
要想学好C++编程,了解C++的历史演变过程是一个必需的前提。而C++是从C语言发展来的,所以首先从C语言的历史讲起。
C语言是由计算机科学家丹尼斯·里奇(Dennis Ritchie)创造的。在1967年,丹尼斯·里奇进入著名的贝尔实验室(C语言、C++语言和UNIX操作系统都在此诞生)工作。在贝尔实验室工作的过程中,里奇为了解决在工作中遇到的问题,创造了C语言。如图1-1所示,即为C语言发展历程示意图。
图1-1 C语言发展历程
不过,在1979年,Bjarne博士为了分析UNIX的内核,苦于当时没有合适的工具将UNIX的内核模块化,于是他为C加上了一个类似Simula的机制,并为此专门成立了开发小组。这就是C++最初的萌芽状态。当时,这个语言并不是叫作C++,而是叫作C with class,它仅仅被当作C语言的一种补充。不过,随着事态的发展,C++逐渐成熟起来。