当前位置:   article > 正文

C++(老百科)

c++

学了这么久的c++,你们有没有想过一个问题:什么是c++?(这还用问么,不大街上随便抓一个陌生人都知道)(那你现在给我抓个看看)

 C++简介

C++是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。––––以上源自于百度百科

总的来说C++和C,C#,Python,Java……一样,都是一种编程语言.

1.C++是一种静态类型的,编译式的,通用的,大小写敏感的,不规则的编程语言

接下来我们看看什么是静态类型:

静态类型是指由编译器在编译阶段处理有关类型的检查和计算,一旦发现代码中存在类型错误,即宣告编译失败:

  • 运行阶段不再处理有关类型的问题,性能高速度快
  • 代码中的缺陷充分暴露在编译阶段,运行时更安全
  • 代码编辑器可提供代码自动补全等人性化辅助功能
  • 数据完整性更好

那什么又是编译型语言呢?

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。

2.C++支持过程式编程,面向对象编程泛型编程.

我又来敲重点了

下面是过程式编程的定义:

过程式程序设计,用过程语言设计、编写和测试程序的方法。主要涉及数据结构的确定,求解算法的设计,代码文档的组织和测试等

面向对象编程又是什么呢?

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

刨根问底的你们又问了:泛型编程呢?

泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。

3.C++完全支持面向对象的程序设计,包括这三个特性:封装,继承,多态

封装又是啥?

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。在电子方面,封装是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接。

继承和多态又是什么呢?

继承面向对象软件技术当中的一个概念,与多态封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性方法或者重新定义、追加属性和方法等。

编程语言类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。

4.C++的三个重要组成部分:核心语言,C++标准库,标准模板库(STL)

STL在C++的谈论中十分常见

标准模板库(Standard Template Library,STL)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。虽说它主要出现到C++中,但在被引入C++之前该技术就已经存在了很长时间。STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。

C++的发展史 

一下内容全部来自于百度百科,我就不用块引用了

1970年,AT&T贝尔实验室的工作人员D.Ritchie和K.Thompson共同研发了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,实际上C语言是UNIX的“副产品”。

1971年,瑞士联邦技术学院N.Wirth教授发明了第一个结构化的编程语言Pascal

20世纪70年代中期,本贾尼·斯特劳斯特卢普在剑桥大学计算机中心工作。斯特劳斯特卢普希望开发一个既要编程简单、正确可靠,又要运行高效、可移植的计算机程序设计语言。而以C语言为背景,以Simula思想为基础的语言,正好符合斯特劳斯特卢普的初衷和设想。

1979年,本贾尼·斯特劳斯特卢普到了AT&T贝尔实验室,开始从事将C改良为带类的C(C with classes)的工作。、1983年,该语言被正式命名为C++。

1985年、1990年和1994年,C++先后进行3次主要修订。

C++的标准化工作于1989年开始 [21]  ,并成立了一个ANSI和ISO(International Standards Organization)国际标准化组织的联合标准化委员会。

1994年1月25曰,联合标准化委员会提出了第一个标准化草案。在该草案中,委员会在保持斯特劳斯特卢普最初定义的所有特征的同时,还增加了部分新特征。 [3] 

在完成C++标准化的第一个草案后不久,亚历山大·斯特潘诺夫(Alexander Stepanov)创建了标准模板库(Standard Template Library,STL)。在通过了标准化第一个草案之后,联合标准化委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。

1997年11月14日,联合标准化委员会通过了该标准的最终草案,

1998年,C++的ANSI/IS0标准被投入使用。

开发环境

编程总是要有开发环境的,让我们来看看C++有哪些开发环境

集成开发环境

截至2014年3月,C++共有12个主流集成开发环境.

Visual Studio(Visual C++)

Dev C++

C++ Builder

kDevelop

Anjuta

Code::Blocks [5] 

Visual Mingw

Ideone

Eclipse CDT

Compilr

Code Lite

Netbeans C++

编译器

截至2014年3月,C++共有5款主流编译器。

Ultimate++

Digital Mars

C-Free

MinGW

Tiny C Compiler

工作原理

C++语言的程序开发环境,为了方便测试,将调试环境做成了解释型。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

开发C++应用程序,需要经过编写源程序、编译、连接程序生成可执行程序、运行程序四个步骤  。生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序编写正确,那么通常只需按一个功能键,即可完成该过程。

第一步对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);如果该步骤成功执行,下一步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。C++库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。例如,一个C++库中包含标准的平方根函数sqrt,所以不必亲自计算平方根。C++库中还包含一些子程序,它们把数据发送到显示器,并知道如何读写硬盘上的数据文件。

好了,咋们今天就讲到这里,咱们下期再见

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/636318
推荐阅读
相关标签
  

闽ICP备14008679号