第一章 准备常识
1、C++ 简介
C++ 交融了 3 种不同的编程形式:
- C 语言代表的
过程性语言
- C++ 在 C 语言根底上增加了类代表的
面向对象语言
- C++ 模板反对的
泛型编程
C++ 继承 C 语言高效、简洁、疾速和可移植性的传统。
2、C++ 简史
2.1 C 语言编程:过程性语言
Bell 实验室的 Dennis Ritchie 为了设计开发 UNIX 的通用性、可移植性等,在旧语言的根底上开发了 C 语言。
汇编语言依赖于计算机的外部机器语言,间接对硬件进行操作。
数据:程序应用和解决的信息。
算法:程序应用的办法。
C 语言是 过程性语言
,强调编程的算法方面。一种结构化的编程形式。
C 语言的新准则:自顶向下设计
,现实:将大型程序 拆分
小型、便于管理的工作。
2.2 面向对象编程
过程性语言(C 语言)
强调 算法
,OOP(C++、Java 等)
强调 数据
。
OOP 不像过程性编程,其理念是设计与问题的实质个性绝对应的数据格式。区别如下:
过程性语言(让问题来满足语言)
OOP 编程(让语言来满足问题)
在 C ++ 中,类是一种 标准
,形容了 新型数据格式
,对象则依据类标准结构的 特定数据结构
。
类规定了可应用 哪些数据
来示意 对象
以及能够对这些 数据执行哪些操作
。
OOP 程序设计办法 :先设计 类(能够明确示意程序要解决的货色)
,而后设计应用 类的对象的程序
。
从 低级组织(如类)
到 高级组织(如程序)
的处理过程叫作 自下而上
的编程思维。
类定义 = 数据 + 办法
OOP 能够创立可重用的代码,缩小大量的工作,信息暗藏能够爱护数据,使其免遭不适当的拜访。
不同的环境(Windows 和 Macintosh
)下提供编程的 类库
,能够不便地 重用
和批改现有的、通过认真测试的代码。
2.3 C++ 和泛型编程
泛型编程(generic programming)是 C ++ 反对的另一种编程模式。与 OOP 指标零碎。
术语:泛型(指创立独立于类型的代码)
。
OOP 与泛型编程的区别:
OOP
强调编程的数据
方面,是治理大型项目
的工具泛型编程
强调独立于特定数据类型
,提供执行常见工作(如对数据排序或合并链表)
的工具。
C++ 泛型编程须要对语言进行扩大,以便于能够 只编写一个泛型(即不是特定类型的)函数
,并将其 用于各种理论类型
。
3、可移植性和规范
C++ 是 C 语言的 超集
,任何无效的 C 程序都是无效的 C ++ 程序。
3.1 可移植性的两个阻碍
- 硬件:分块搁置模块,通过重写模块,最大限度升高可移植性问题。
- 语言上的差异性:国内组织定义了 C 语言规范、定义了 C ++99、C++11、C++14 等规范。
3.2 C++ 的二重性
- OOP 提供了高级形象
- C 提供了低级硬件拜访
👉 C++ 既能够通过 OOP 进行形象,也可实现相似 C 一样的对硬件拜访的操作。
4、程序创立的技巧
4.1 编程步骤
更多编译细节请浏览【编译原理】
4.2 常见的编译器
- Linux/UNIX:GNU gcc/g++
- Windows:软件 IDE
- Mac OS:Xcode 自带 g ++ 和 clang
GitHub 地址:https://github.com/SolerHo/cp…