From The Handbook of Object Technology (Editor: Saba Zamir). CRC Press LLC, Boca Raton. 1999. ISBN 0-8493-3135-8.
概观C++程序设计语言
AT&T Laboratories
Florham Park, NJ07932-0971, USA
摘 要
本文通过举例,介绍了C++在如下三个方面中的一些关键的概念:C++的设计、C++程序设计以及C++语言的技术性内容。C++是一门部分的面向系统编程、通用目的的程序设计语言;它支持高效的低级运算、数据抽象、面向对象程序设计以及范型程序设计。
1 简介以及文本概要(Introduction and Overview)
C++程序设计语言提供了一种用于计算和存储的模型,这个模型与大多数计算机所使用的计算和存储模型极为接近。C++的语言结构还提供了具有可适应性的、强大的抽象机制,用于对问题进行抽象;这种语言结构允许程序员创建和使用新的型别(type),而这些新的型别则可以与实际应用中所包含的概念相适应。由此可知,C++既支持面向低层次的程序设计风格,又支持面向高层次的程序设计风格。其中,面向低层次的程序设计风格是基于对硬件资源的直接操纵,以此来获得相当高的效率;而面向高层次的程序设计风格则是基于用户自定义的新的型别,以此来提供这样一种数据和计算模型:当完成一项任务时,计算机使用的这种模型与人类自身观察并完成该项任务时所使用的模型极为相似。这些面向高层次的程序设计风格通常被描述为数据抽象、面向对象程序设计以及范型程序设计。
本文围绕那些被C++直接支持的主要程序设计风格展开叙述,内容包括:
[§2 C++的设计和演化]:
介绍C++语言的设计目标和其演化发展的原则;
[§3 C程序设计模型]:
介绍C++所包含的C语言子集以及其它支持传统的系统程序设计风格的语言设施;
[§4 C++的抽象机制]:
介绍类(class)的概念及用法(即如何定义那些完全可以被当作内建型别来使用的新型别);说明抽象类如何被用来提供各种不同型别的对象之接口;描述在面向对象程序设计中使用到的类层次机制;以及用于支持范型程序设计的模板(template)机制;
[§5 大规模程序设计]:
描述namespace(名字空间)以及异常处理(exception handling)机制(在将许多独立的部件合成为完整的程序时,用它们来缓减整个过程的难度);
[§6 C++标准程序库]:
介绍一些标准设施,比如输入/输出流、string、container(例如vector、list和map)、范型算法(例如sort()、find()、for_each()等)以及对数学计算的支持等。
最后,本文还介绍了一些使用C++的应用,并给出了进一步阅读的建议。