C/C++程序员查询辞典(第二版)
Herbert Schildt是C和C++领域的权威,并且是负责C和C++标准化的ANSI/ISO协会的成员。他的书在全球范围内已经售出了250万本。并且翻译成所有主要的语种。他撰写了C:The Complete Reference、C++:The Complete Reference、C++ from the Ground Up以及许多其他的畅销书,包括Windows 2000 Programming from the Ground Up和MFC Programming from the Ground Up。他还与人合作编写了Java 2:The Complete Reference一书。
媒体推荐
书评
C语言是一种短小精悍的计算机高级编程语言,它具有丰富的数据类型以及运算符,并为结构程序设计提供了各种数据结构和控制结构,同时提供了某些低级语言的特点,可以实现大部分汇编语言功能,非常适合编写系统程序;而且, C语言程序具有很好的可能移植性。由于C语言的这些特点,它已经成为当今应用最为广泛的高级编程语言之一。
编辑推荐
C和C++是世界上最重要的编程语言。在当今的世界中,要成为专业的程序员,就意味着必须熟悉这两种语言。它们是现代编程的基础。
C语言是在20世纪70年代由Dennis Ritchie发明的。它是一种中级语言。C语言将高级语言的控制结构、位操作能力以及指针(地址)结合起来。这样,程序员就几乎可以使用C语言完全控制机器。C语言是在1980年末第一次标准化的,当时采用了C语言的ANSI(美国国家标准化协会,American National Standards Institute)标准。这一版本的C语言通常称为C89。这一标准还由ISO(国际标准化组织,International Standards Organizaion)所采用。1995年,C89又做了细微的修订。
C++是在1979年由Bjarne Stroustriup发明的。在20世纪80年代以及90年代的大部分时间里,许多人为C++的发展和修订做出了不懈的努力。最后,在1998年,采用了C++的一个ANSl/lSO标准。简单地说,C++就是C语言的面向对象版本。C++是在C89及其1995年修订的基础上构建起来的。实际上,C89所定义的C语言版本通常被称为“C++的C子集”。虽然C++是从对C语言的一组面向对象扩展开始的,但很快它就发展成为一种独立的编程语言。今天,C++的大小几乎是C语言的两倍。毋庸赘述,C++是人类所设计出来的最强大的计算机语言之一。
在1999年,采用了C语言的一个新的ANSI/ISO标准。这个版本称为C99。它包括了许多改进以及几种新功能。其中一些“新”功能是从C++借鉴的,而另外一些则是全新的创新,因此,C99所添加的某些功能与C++不兼容。这表示随着C99的出现,标准C语言不再是C++的纯子集。所幸的是,许多不兼容性是与很容易避免的专用功能相关的。因此,仍然能够很方便地编写与C和C++都兼容的代码。在编写本书时,还没有一种主要的编译器接受了所有的C99添加功能,但这种状况肯定是要改变的。
下表简单地介绍了C89、C99和C++之间的关系。
C89 C语言最初的ANSI/ISO标准。C89就是现在大部分程序员认作C语言的版本。
C++ C语言的面向对象版本。C++的当前ANSl/lSO标准是在C89的基础上建立起来的,因此,C89形成了C++的子集。
C99 C语言的最新版本。包括C89的所有功能,并且添加了几种新功能。C++的当前标准不支持其中的一些新功能。
本书介绍了 C89、 C99和 C++。当某种功能为其中一种语言所独有时,就会标记出来。否则,就意味着此功能适用于所有这三种语言。
毫无疑问,C和C++是两个很大的主题。因此,在这里覆盖这两种重要语言的所有方面是不可能的。相反,这本参考手册浓缩了这两种语言的主要功能,以方便读者的使用。