(1)'C++: THE COMPLETE REFERENCE' --第一部分 前言

来源:互联网 发布:vue.js实现分页 编辑:程序博客网 时间:2024/05/29 07:38

第一部分  c++基础:c子集

      本书将c++语言分为两部分进行讲解。第一部分讲述了c++与c语言类似的一些特性,主要是以c++的c语言子集的方式进行描述。第二部分则讲述了c++所特有的一些特性。这两部分合在一起,能让读者对于c++有一个完整的认识。

      大家知道,c++是在c语言的基础上产生的。实际上,c++包含了整个c语言的内容,并且几乎大部分的c语言程序同时就是c++程序。c++最初建立的时候以c语言为起点,加入了面向对象的一些新特性。然而,在c++中仍然保留了那些c语言的特性,c++国际标准是在1989年指定的c语言ANSI/ISO标准的基础上建立的。对于c++的掌握也就意味着对c语言的掌握。

      很多书(包含本书)都把c++分成两部分描述,与c语言类似的部分以及c++的专有特性的部分。这样做至少有三个好处:
      1、清晰的描绘了c语言子集部分和c++专有特性部分的界限。
      2、为已经熟悉c语言想要直接了解c++高级特性的读者带来了方便。
      3、为讨论c++语言与其c子集关系密切的部分带来了方便。

      弄清楚c语言与c++的区别是很重要的,它们都是应用很广泛的编程语言。有时候你可能需要做一些同时编写或者维护c语言和c++代码的工作,这个时候你需要弄清楚什么时候c语言代码开始了,什么时候又是c++的代码了。有时候编程者需要写一些纯c语言的代码,这种情况在嵌入式编程和维护中很常见。因此,要想成为最顶尖的高级c++程序员,你必须弄清楚c语言和c++之间的区别。

      当你需要把c代码转换成c++代码的时候,你会知道对c语言的清晰领会是必要的,而扎实的c语言基础能保证你高水平的完成这项任务。比如说,如果你对c语言的I/O系统没有深入的理解,那么你很难以高效的方式把与I/O关系密切的c语言程序代码转换成对应的c++代码。因为很多程序员已经对c语言有所了解,因此把c++与c语言类似的部分单独拿出来讲解,有利与有c语言经验的程序员更快的找到他们所感兴趣的那部分信息,不需要在这些他们已经熟悉的信息上浪费时间。在第一部分中,c语言与c++的一些微小的差异都被记载了下来。并且,这种把c基础部分与c++高级特性分离的做法,也方便我们把讨论的焦点放到c++所拥有的一些高级特性上,比如面向对象等,因为在此之前,与c语言相关的那部分已经被单独讨论过了。

      尽管c++包含了几乎整个c语言,但是一些c语言提供的特性并不适用与c++风格的应用程序。比如在编写c++程序的时候,c语言的I/O系统仍旧有效,但是c++另外定义了一套面向对象的版本。预处理是另外一个例子,它对c语言程序来说很重要,但是c++并不是这样。在第一部分先把这些只适合c语言程序的特性列出来,能够避免它们在本书的其余部分扰乱读者的思路。

      需要提醒读者的是,第一部分所描述的c语言子集构成了c++程序语言的核心和基础部分,面向对象等高级特性也是在这些基础上建立起来了,这些基础的特性在c++编程中也是可用的。