【C++】C++发展和特性

来源:互联网 发布:如何安装python 编辑:程序博客网 时间:2024/06/05 06:33

 

*文首声明:

+本文仅作为个人C++学习的记录,借此整理C++内容,希望能更好地提高自己。

+本人能力有限,若文中有任何认识和理解不到位的地方希望予以指正。

+若果有不同见解,希望都能认真对待,交流学习,共同进步。

+若未能及时回复,敬请谅解,谢谢!

+文章内容根据实际情况进行不定期修正

一、从程序设计语言的发展和演化来看现在C++具备的特性。


1.问题的产生和实际需求 ,决定了语言发展的速度和方向


机器语言:
优点:高效
问题:指令集难以记忆和理解 ,程序构思困难
解决:使用助记忆符


产生:汇编语言:
优点:高效、硬件
问题:依赖硬件、针对特定硬件、通用性和可移植性差
解决:高级语言产生 ,采用针对不同硬件的编译器 ,使同一个高级语言能在不同的机器上使用


产生:高级语言
早期高级语言:
优点:高效、硬件、通用
问题:程序规模扩大 ,执行路径混乱 ,如使用过多的分支和跳转 ,难读难改
解决:结构化程序设计和自顶向下的原则
把分支限定为一组行为良好的结构中 ,如顺序、分支、循环
将大型程序逐步分解成易于编写小任务 、小的开发单元(函数)


产生:C语言
此阶段,高级语言具有面向过程特性 ,强调算法 。试图让问题满足语言 ,需要根据操作流程来构思程序 ,重点在于任务的实现。
问题:程序规模扩大、问题变得复杂 ,流程不易控制


C++产生:
C++在C语言的基础上产生 。包含了C面向过程的特性,又添加了类和对象为代表的面向对象(OOP)和以模版为特征的泛型编程


面向对象强调数据。试图让语言满足问题 ,设计与问题本质相对应的自定义数据格式 ,重点在于概念的表示

泛型编程的目的是实现代码重用和抽象通用,强调数据类型的通用,使同种任务的实现适用于各种实际数据类型


二、C++的特征

 

继承了C语言简洁、高效、硬件操作和可移植的特征
面向过程——函数实现
面向对象——类和对象
类是对新数据类型的描述 ,说明了可以有哪些数据、数据可以进行哪些操作

数据+对数据的操作->类
对象是由类构造出来的具体实例,说明了具体数据是什么、数据进行什么样的操作

C++采用先设计类,再组织程序的自底向上的模式
泛型编程——模板

C++提供了高级抽象和硬件访问,实现代码重用、数据隐藏和保护、多态性和继承,强调实用价值

三、C++标准

 

ANSI C++ 98、03、11

都加入了新的特性,逐步降低不一致性

四、C++和C语言的区别与联系

 

C++是从C语言的基础上发展起来的,理想的情况是 任何有效的C程序都是有效的C++程序,但实际情况下两者之间并不是完全兼容

C和C++都使用了ANSI的标准C库,C++还提供了一个C++标准库


五、C++程序的编译过程

 

源代码由编译器编译生成目标代码(源代码的机器语言版本),链接器把目标代码和库代码、启动代码链接生成可执行文件。

有的操作系统可以使用集成开发环境(IDE)进行编辑、编译、链接、管理和调试

 

 

0 0