c和c++的区别.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:4 大小:24KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

c和c++的区别.doc

c和c++的区别.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。BjarneStroustrup(C++的设计者)对C++的设计和演化的描述C++的设计和演化(TheDesignandEvolutionofC++)C++程序设计语言是由来自AT&TBellLaboratories的BjarneStroustrup(即本文作者)设计和实现的,它兼具语言在组织与设计方面的特性以及适用于系统程序设计的C语言设施。C++最初的版本被称作“带类的C(CwithclStroustrup,1980],在1980年被第一次投入使用;当时它只支持系统程序设计(§3)和数据抽象技术(§4.1)。向对象程序设计的语言设施在1983年被加入C++;之后,面向对象设计方法和面向对象程序设计技术就逐渐进入了C在1985年,C++第一次投入商业市场[Stroustrup,1986][Stroustrup,1986b]。在1987至1989年间,支持范型程序设言设施也被加进了C++[Ellis,1990][Stroustrup,1991]。随着若干独立开发的C++实现产品的出现和广泛应用,正式的C++标准化工作在1990年启动。标准化工作由ANSI(nNationalStandardInstitute)以及后来加入的ISO(InternationalStandardsOrganization)负责。1998年布了C++语言的国际标准[C++,1998]。在标准化工作进展期间,标准委员会充当了一个重要的角色,其发布的C++标准在正式标准发布之前,一直被作为过渡标准而存在。而作为标准委员会中的积极分子,我是C++进一步发展工作中的主者。与以前的C++语言版本相比,标准C++更接近我理想中的那个C++语言了。关于C++的设计和演化,在[StroustrupStroustrup,1996]和[Stroustrup,1997b]中有详细的叙述。至于标准化工作末期产生的C++语言定义,在[Stroustru有详细叙述。1C++的设计目标(C++DesignAims)C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织面具有像Simula那样的语言设施(Simula所支持的这种程序组织结构通常被称为面向对象程序设计风格)。在设计还做了很大的努力,使得引借自Simula的高层次的程序设计技术能够应用于系统程序设计之中。这即是说,C++所提象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。上述的C++之设计目标可以小结如下:[设计目标]ll对于要解决实际问题的程序员而言,C++使程序设计变得更有乐趣;llC++是一门通用目的的程序设计语言,它:――是一个更好的C;――支持数据抽象;――支持面向对象程序设计;――支持范型程序设计。对范型程序设计的支持在C++设计的后期才被作为一个明确、独立的目标来实现。而在C++演化过程的大部分时间里,把范型程序设计以及支持它的语言特性划归在“数据抽象”的大标题之下。2C++的设计原则(DesignPrinciples)在[Stroustrup,1994]中,C++的设计规则被分为基本规则、基于设计的规则、语言的技术性规则以及基于低层次程序规则四个方面,分列在下文中。[基本规则(Generalrules)]llllllC++的每一步演化和发展必须是由于实际问题所引起的;lC++是一门语言,而不是一个完整的系统;l不能无休止的一味追求完美;lC++在其存在的“当时”那个时期必须是有用处的;l每一种语言特性必须有一个有根据的、明确的实现方案;ll总能提供一种变通的方法;ll能为意欲支持的每一种程序设计风格提供易于理解的支持方法;ll不强制于人。可以注意到,基本规则的最后三条暗示了两点:对适用于真实世界中各种应用的便捷工具的强调;对程序员的技术(偏好)的充分考虑。从一开始,C++面向的就是那些要做实际项目的程序员。所谓的“完美”被认为是不可能达到的由于C++用户在需求、背景和待解决问题上存在着太大的不同。况且,在一门通用目的的程序设计语言的整个生存期对“完美”一词的诠释都可能会有极大的改变。由此可知,在语言的演化过程中,来自用户的反馈和语言实现者们积验才是最为重要的。[基于设计的规则(Design-supportrules)]llllll支持良好的设计方案;l提供用于程序组织的语言设施;l心口如一(Saywhatyoumean);l所有的语言特性必须具有切