Chapter 1 预备知识

Chapter 1 预备知识

      • 1.1 C++简介
      • 1.2 C++简史
      • 1.3 可移植性和标准

2^8=256

2^16=65,536

2^32=4,294,967,296

C++的三大法宝: C++继承了C 语言高效、 简洁、 快速和可移植性的传统。
C++面向对象的特性带来了全新的编程方法,这种方法是为应付复杂程度不断提高的现代编程任务而设计的。
C++的模板特性提供了另 种全新的编程方法----泛型编程。

1.1 C++简介

C++融合了 3 种不同的编程方式: C 语言代表的过程性语言、 C++在 C 语言基础上添加的类代表的面向对象语言、 C++模板支持的泛型编程。

1.2 C++简史

操作系统是能够管理计算机资源、处理计算机与用户之间交互的一组程序

汇编语言是低级(low-level)语言,即直接操作硬件,如直接访问CPU寄存器和内存单元。因此汇编语言针对于特定的计算机处理器, 要将汇编程序移植到另 一种计算机上, 必须使用不同的汇编语言重新编写程序。

UNIX是为在不同的计算机(或平台)上工作而设计的,这意味着它是一种高级语言。高级(high-level)语言致力于解决问题,而不针对特定的硬件。

编译器-----将高级语言翻译 成特定计算机的内部语言。这样,就可以通过对每个平台使用不同的编译器来在不同的平台上使用同一个高级语言程序了。

计算机语言的两大基本概念:数据算法。数据是程序使用和处理的信息,而算法是程序使用的方法。

C语言的两种特性

  • 结构化编程(structured programming)
  • 自顶向下(top-down)的设计:将大型程序分解成小型、便于管理的任务

过程性编程:强调算法,试图使问题满足语言的过程性方法;

面向对象编程:强调数据,试图使语言来满足问题的要求,其理念是设计与问题的本质特性相对应的数据格式。

在C++中, 类是一种规范, 它描述了这种新型数据格式, 对象是根据这种规范构造的特定数据结构。通常, 类规定了可使用哪些数据来表示对象以及可以对这些数据执行哪些操作。 OOP 程序设计方法首先设计类,它们准确地表示了程序要处理的东西。类定义描述了对每个类可执行的操作。然后便可以设计一个使用这些类的对象的程序。 从低级组织(如类)到高级组织(如程序) 的处理过程叫做自下向上 (bottom-up)的编程。它不是将重点放在任务上, 而是放在表示概念上。

OOP 编程并不仅仅是将数据和方法合并为类定义。例如,OOP 还有助于创建可重用的代码,这将减少大量的工作。 信息隐藏可以保护数据, 使其免遭不适当的访问。 多态让您能够为运算符和函数创建多个定义, 通过编程上下文来确定使用哪个定义。继承让您能够使用旧类派生出新类。

C++真正的优点之一是: 可以方便地重用和修改现有的、 经过仔细测试的代码。

泛型编程 (generic programming) 是 C++支持的另一种编程模式。它与OOP的目标相同,即使重用代码和抽象通用概念的技术更简单。不过OOP强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型。它们的侧重点不同。术语泛型 (generic) 指的是创建独立于类型的代码。

因此, C++是C 语言的超集,这意味着任何有效的C 程序都是有效的C++程序。它们之间有些细微的差异,但无足轻重。C++程序可以使用已有的C软件库。 库是编程模块的集合, 可以从程序中调用它们。 库对很多常见的编程问题提供了可靠的解决方法, 因此能节省程序员大量的时间和工作量。

1.3 可移植性和标准

1551526633324

源代码→编译→目标代码→链接→可执行程序

你可能感兴趣的:(C++,primer,plus摘抄笔记)