第1章 基本概念
1.1编程语言
1.1.1 C++简史
C++是Bjarne Stroustrup在上个世纪80年代早期开发的,是基于一种基于C的面向对象语言。顾名思义C++表示C的累加。由于C++基于C,所以这两门语言有许多共同的语法和功能,C中所有低级编程的功能都在C++中保留下来。但是,C++比前身丰富得多,用途也很广泛得多。C++对内存管理功能进行了非常大的改进,C++还具有面向对象的功能,所以C在功能上只是C++的一个很小的子集。C++在使用范围、性能上是无可匹敌的。因此,目前大多数高性能的应用程序和系统仍旧使用C++编写。
1.1.2 程序执行过程
无论使用哪种编程语言,编写出来的都是由各个指令或原句构成的,它们描述了希望计算机执行的动作。这些指令或源语句统称为源代码,存储在磁盘的源文件中。任何规模的C++程序都是由若干个源文件组成的。
1.1.3 库
每次编写程序的时候,如果总是要从头开始编写,就相当繁琐。在许多程序中,常常需要某种相同的功能,例如从键盘上输入数据,或在屏幕上显示信息,或按照指定的顺序对数据记录排序。为了解决这个问题,编程语言通常提供了大量预先写好的代码,以执行标准的操作,这样就不必重新编写这些代码了。
可用于任意程序的标准代码都保存在一个库中。程序语言附带的库跟语言本身一样重要,因为库的质量和适用范围对完成某一编程任务所需的时间有非常大的影响。
1.2 C++是一个强大的语言
C++在几乎所有的计算机环境中都非常普及:个人电脑、Unix工作站 和大型计算机。如果考察一下新编程语言的发展史,就可以看出C++的这种普及率是非常高的。
C++有许多优点:
- C++适用的应用程序范围极广。C++可以用于几乎所有的应用程序,从字处理应用程序到科学应用程序,从操作系统组件到计算机游戏等。
- C++可以用于硬件级别的编程,例如实现设备驱动程序。
- C++从C中继承了过程化编程的高效性,并集成了面向对象编程方式的功能。
- C++在其标准库中提供了大量的功能。
- 有许多商业C++库支持数量众多的操作系统环境和专门的应用程序。
因为几乎所有的计算机都可以使用C++编程,所以C++语言普及到几乎所有计算机平台上。也就是说,把用C++编写的程序从一台机器迁移到另一台机器上不需要费什么力气。当然 ,如果这个过程真的非常简单,那么编写在另一台机器上运行的程序时就需要考虑使用C++语言了。
C++的ANSI/ISO标准
- C++的国际标准由ISO/IEC 14882文档定义,该文档由美国国家标准协会ANSI发表。
- 标准化是把所编写的程序从一种类型的计算机迁移到另一种类型的计算机上的基础。它的建立使语言能确定下一步会获得什么结果。
- ANSI标准不仅定义了语言,还定义了标准库。使用ANSI标准后,C++使程序可以轻松地在不同的机器之间迁移,缓解了在多个环境上运行的应用程序的维护问题。它对用C++编程所需要学习的部分进行了标准化。这个标准将使后续的程序具有一致性,因为它只为C++编译器和库提供了一个定义参考。在编写编译器时,该标准的存在也使编写人员不再需要许可。
1.3 一个简单的C++程序
//这是一个注释,编译器会忽略它
//Example 1.1 A simple C++ program
#inlcude <iostream>
//在程序中包含头文件iostream的内容
using namespace std;
//这个指令是说,从源文件的这个地方开始,可以