一、C++的起源
1.C++起源于C语言
2.C语言
(1)为开发Unix系统而创建的语言,最初是使用汇编语言来开发Unix系统的,但是,汇编语言非常麻烦,就开发了一种新的语言C语言来编写Unix系统。
(2)C语言的特点:
a.贴近硬件,运行速度飞快。
b.是系统级编程语言,一般将它称作最底层的编程语言。
c.是结构化的编程语言,非常适合教学。
(3)C语言的缺点:C语言是面向过程编程,当面对大型项目时,就不适合按照顺序一步一步执行,会有许多跳转等操作,C语言就不合适了。
3.C++语言的特点
(1)以C为基础,拥有C的优点:贴近硬件,能对计算机的底层进行控制,性能强悍,运行效率非常高;是一种编译型语言,静态类型语言,结构化教学语言。
(2)增强版C语言:它支持面向对象编程(这一点是C++相对C而言最大的不同),面向泛型编程(更适合大中型软件的编写),还提供了丰富的模板库,功能强大,相对较难掌握。
4.C++的应用领域:
(1)桌面应用:主要基于windows平台的应用。
(2)系统级软件:操作系统,驱动程序,数据库,网络协议。
(3)底层架构:Java虚拟机,Python解释器,AI核心库。
(4)游戏开发:游戏引擎,服务器端,客户端。
(5)嵌入式开发:工业控制,智能家电,航空航天,电子通讯。
二、面向过程和面向对象
1.面向过程编程(POP)
(1)以过程(Procedure)为中心的编程范式。
(2)编程范式就是一种编程方法,编程思路。
(3)“以过程为中心”就是按照计算机执行的步骤,从上到下顺序设计程序。
2.面向对象编程(OOP)
(1)以对象(Object)为核心的编程范式。
(2)编程思路:先构建一个对象(Object)【注意:一个东西,比如笔,一个人,比如张三,都是一个对象】,我们不以处理过程为核心,而是以处理的数据,处理的对象为核心。
(3)对象是类(Class)的实例,类是对象的抽象【比如张三,李四都属于‘人’这个类】,类中包括数据的定义和数据的操作方法。
三、编译型语言和解释型语言
1.编译(Compile):由编译器把整个源代码翻译成机器码,最终生成二进制文件,一次性提交给计算机执行。代表:C,C++
2.解释(Interpret):由解释器将代码逐行地解释成机器码,并交给计算机执行。代表:Python,JavaScript
四、C++代码的运行
1.首先生成源代码文件,是一个后缀为 .cpp (即c plus plus 的缩写)的文件。
2.经过编译器编译,获得目标代码文件,是一个后缀为 .obj 的文件。
3.目标代码和库文件链接之后就得到了可执行代码( .exe 文件),因为在目标代码中有一些C语言和C++语言提前写好的库文件需要使用,所以要链接库文件。
4.双击 .exe 文件后,就可以运行程序了。
五、C++标准
1.1998年制定,2003年做了一次改版,但我们一般认为这是一版C++标准,称为C++98/03 ,可以认为是C++标准1.0版本。
2.2011年极大的扩展了C++的特性,称为C++11,可以认为是C++标准2.0版本 。
3.2014年发布C++14,2017年发布C++17,这两个版本的增加都不是很多。
4.2020年发布C++20,这一版本是C++变化巨大的又一版本,可以认为是C++标准3.0版本 。
5.2020年的版本是有些编译器还不支持的,以下的学习主要以C++98/03和C++11为中心。