C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式--面向对象编程、泛型编程和过程化编程。最新正式标准C++14于年8月18日公布。[1]其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大受用的最强大编程语言之一,支持类:类、封装、重载等! 从C到C++ 计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言是诞生于年的FORTRAN语言。之后出现了多种计算机高级语言,其中使用最广泛、影响最大的当推BASIC语言和C语言。BASIC语言是年由Dartmouth学院JohnG.Kemeny与ThomasE.Kurtz两位教授在FORTRAN语言的基础上简化而成的,适用于初学者设计的小型高级语言;C语言是年由美国贝尔实验室的D.M.Ritchie所开发,采用结构化编程方法,遵从自顶向下的原则。[2]在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,但在编写大型程序时,C语言仍面临着挑战。 年,贝尔实验室的BjarneStroustrup在C语言基础上推出了C++。C++进一步扩充和完善了C语言,是一种面向对象的程序设计语言。 名称由来C++这个名字是RickMascitti于年中所建议的,并于年12月首次使用。更早以前,尚在研究阶段的发展中语言曾被称为“newC”,之后是“CwithClass”[3]。在计算机科学中,C++仍被称为C语言的上层结构。它最后得名于C语言中的“++”操作符(其对变量的值进行递增)。而且在共同的命名约定中,使用“+”以表示增强的程序。Stroustrup说:“这个名字象征着源自于C语言变化的自然演进”。 与C的关系C语言是C++的基础,C++和C语言在很多方面是兼容的。C语言是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。所以C语言和C++的最大区别在于它们解决问题的思想方法不一样。 C++对C的“增强”,表现在六个方面: (1)类型检查更为严格。 (2)增加了面向对象的机制。 (3)增加了泛型编程的机制(Template)。 (4)增加了异常处理。 (5)增加了运算符重载。 (6)增加了标准模板库(STL)。 与C不兼容之处C++一般被认为是C的超集合(Superset),但这并不严谨。大部分的C代码可以很轻易的在C++中正确编译,但仍有少数差异,导致某些有效的C代码在C++中失效,或者在C++中有不同的行为。 最常见的差异之一是C允许从void*隐式转换到其它的指针类型,但C++不允许。另一个常见的可移植问题是,C++定义了新关键字,例如如new,class,它们在C程序中可以作为识别字(例:变量名)的。 语言特点:优点C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。 C++设计直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。 C++设计无需复杂的程序设计环境。 C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点,与其它语言相比,可以直接访问物理地址,与汇编语言相比又具有良好的可读性和可移植性。 总得来说,C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。 C++语言最有意义的方面是支持面向对象的特征。虽然与C的兼容使得C++具有双重特点,但他在概念上完全与C不同,更具面向对象的特征。 出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里。关于此类话题,BjarneStroustrup的《C++语言的设计和演化》()里做了详尽的陈述。 C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括Boost、Qt、MFC、OWL、wxWidgets、WTL就是使用的C++。 缺点C++由于语言本身复杂。C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器如果存在问题,可能难于被发现。 由于本身的复杂性,复杂的C++程序的正确性相当难于保证。 编程开发代码实现一个程序从编写到最后得到运行结果要经历以下一些步骤: 1、用C++语言编写程序 用高级语言编写的程序称为“源程序”(sourceprogram)?源程序的后缀取决于C++实现,下表列出了常用扩展名: Unix:C,cc,cxx,cGNUC++:C,cc,cxx,cpp,c++DigitalMars:cpp,cxxBorland:C++cppWat北京好的治疗白癜风的医院北京哪个医院对白癜风治疗有效果
|