【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)进行编辑、编译、链接、管理和调试
- 【C++】C++发展和特性
- C和C++发展想法
- c#:特性和属性
- 【C#】.NET技术的发展及其跨语言和跨平台特性
- Cocoa 和 Objective-C 特性
- Cocoa和Objective-c特性
- Cocoa 和 Objective-C 特性
- c语言的起源和发展及发展标准
- C,C++ 的发展和标准化进程
- [C#] 白话C#:特性
- C语言发展简史
- c标准的发展
- Objective-C发展历史
- C起源及发展
- C语言发展简介
- C语言发展简介
- c语言发展历史
- C语言发展历史
- Hadoop YARN的伪分布式安装
- Hybird App 之 JSBridge
- UVA11520(p31)----Fill the Square
- GNU C 与 ANSI C的区别
- Java连接数据库
- 【C++】C++发展和特性
- this project needs to migrate WTP metadata 异常解决办法
- 2015年工作总结——①名IT女的日常
- CKEditor配置
- sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
- php预防XSS
- hdoj MAX Average Problem 2993 (斜率优化DP)
- 函数指针
- 基于端口的访问控制协议802.1X