第一章 预备知识

1.1 C++ 简介

C++融合了三种不同的编程方式:C 语言代表的过程性语言、添加到面向对象语言、C++ 模板支持的泛型编程。学习C++ 需要扩展思维。

1.2 C++ 简史

计算机语言要处理两个概念:数据和算法。如图
第一章 预备知识_第1张图片

1.2.2 C语言编程原理

  1. 为了解决混乱的“意大利面条式编程”,开发出有序的编程方法——结构化编程:将循环、分支等限制为行为良好的一个结构。
  2. 另一个原则是自顶向下的设计。将大型程序不断分解,直至成为小型、便于管理的任务,鼓励开发程序单元来表示各个模块。

结构化编程技术反映了过程性编程的思想,根据执行的操作来构思一个程序。

1.2.3 面向对象编程

与强调算法的过程性编程不同,OOP强调数据,理念是设计与问题的本质特性相对应的数据格式。

C++中类是一种规范,描述的是数据格式。对象是根据这种规范构造的特定的数据结构。OOP程序设计方法首先设计类,准确地表示要处理的东西,描述对每个类可执行的操作。这种从低级组织(类)到高级组织(程序)的处理过程叫做自下向上的编程。

OOP还有助于创建可重用代码,隐藏信息保护数据,用多态为运算符和函数创建多个定义,用继承在旧类上派生新类。OOP将重点放在表示的概念上,而不是任务上。

1.2.4 C++ 和泛型编程

泛型指的是创建独立于类型的代码,提供执行常见任务的工具,OOP则是管理大型项目的工具。与OOP目标相同——使重用代码和抽象通用概念的技术更简单。与强调数据的OOP不同,泛型强调的是独立于特定的数据类型。

第一章 预备知识_第2张图片
C 与 C++

1.3 可移植性和标准

由于硬件不同,一个编写好的C++程序需要在新平台上重新用此平台专门的编辑器重新编译。在不修改代码的条件下,若编译好的程序运行良好则该程序是可移植的。可移植性有两个障碍:硬件和语言上的差异。直接控制硬件的程序肯定不能直接移植,座椅最好写成函数。而语言上的差异好比方言,需要标准来规范。1998年制定出了C++98,03年进行了修改,不过都称为C++98。2011年新出了C++11,目标是消除不一致性。

1.4 程序创建的技巧

一个C++程序运行起来的过程大概是:

  1. 在文件中写程序,此文件就是源代码。
  2. 编译源代码。将源代码翻译为机器语言,形成目标代码。
  3. 将目标代码与其他代码如C++库链接起来。形成可执行代码。
第一章 预备知识_第3张图片

不同的操作系统源代码的扩展名不同,编译链接的命令也不同。

1.5 总结

  • 为使编程更简单,C语言新增了控制结构、函数等特性来支持结构、模块化程度更高的方法;C++新增了面向对象和泛型编程,有助于提高模块化和创建可重用代码。
  • 为使众多C++实现兼容,制定标准规定语言必须具备的特性、行为、库函数、类、模板来实现可移植性。
  • C++ 的编译过程。

你可能感兴趣的:(第一章 预备知识)