- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
From The Handbook of Object Technology (Editor: Saba Zamir). CRC Press LLC, Boca Raton. 1999. ISBN 0-8493-3135-8.
An Overview of the C++ Programming Language
概观C++程序设计语言
Bjarne Stroustrup
ATT Laboratories
Florham Park, NJ07932-0971, USA
?
[原著者]:Bjarne Stroustrup(C++的设计者)
[翻译者]:K ][ N G of @rk ?
[kingofark的话]:翻译这位C++之父的大作真是对我的双重折磨,一来让一向对自己的英语水平颇有信心的我大受打击,二来也揭了我国语水平之“不足为外人道也”的老底。其实这也不是这次翻译才有的体会,早先就认识到了——所以忽然有一天发现自己其实是很自私、很无耻的,因为自己做翻译,无非是提高了自己的英语阅读能力;翻译出来的不堪入目的文章,且不说对不对得起原著者了,至少让很多高、低手看了以后被迫给我提意见和建议,最后还是我自己有所收获。吓!这不是自私是什么?这不是无耻又是什么?……当我把这篇文章无条件的(即强制性的)呈现给大家的时候,我已经面红耳赤,无地自容——所以,请大家唾弃我、批评我、教导我。我活该!……真诚的期待大家对我的批评。
?
摘 要
本文通过举例,介绍了C++在如下三个方面中的一些关键的概念:C++的设计、C++程序设计以及C++语言的技术性内容。C++是一门部分的面向系统编程、通用目的的程序设计语言;它支持高效的低级运算、数据抽象、面向对象程序设计以及范型程序设计。
第一章 简介以及文本概要(Introduction and Overview)
?
C++程序设计语言提供了一种用于计算和存储的模型,这个模型与大多数计算机所使用的计算和存储模型极为接近。C++的语言结构还提供了具有可适应性的、强大的抽象机制,用于对问题进行抽象;这种语言结构允许程序员创建和使用新的型别(type),而这些新的型别则可以与实际应用中所包含的概念相适应。由此可知,C++既支持面向低层次的程序设计风格,又支持面向高层次的程序设计风格。其中,面向低层次的程序设计风格是基于对硬件资源的直接操纵,以此来获得相当高的效率;而面向高层次的程序设计风格则是基于用户自定义的新的型别,以此来提供这样一种数据和计算模型:当完成一项任务时,计算机使用的这种模型与人类自身观察并完成该项任务时所使用的模型极为相似。这些面向高层次的程序设计风格通常被描述为数据抽象、面向对象程序设计以及范型程序设计。
本文围绕那些被C++直接支持的主要程序设计风格展开叙述,内容包括:
[§2 C++的设计和演化]:
介绍C++语言的设计目标和其演化发展的原则;
[§3 C程序设计模型]:
介绍C++所包含的C语言子集以及其它支持传统的系统程序设计风格的语言设施;
[§4 C++的抽象机制]:
介绍类(class)的概念及用法(即如何定义那些完全可以被当作内建型别来使用的新型别);说明抽象类如何被用来提供各种不同型别的对象之接口;描述在面向对象程序设计中使用到的类层次机制;以及用于支持范型程序设计的模板(template)机制;
[§5 大规模程序设计]:
描述namespace(名字空间)以及异常处理(exception handling)机制(在将许多独立的部件合成为完整的程序时,用它们来缓减整个过程的难度);
[§6 C++标准程序库]:
介绍一些标准设施,比如输入/输出流、string、container(例如vector、list和map)、范型算法(例如sort()、find()、for_each()等)以及对数学计算的支持等。
最后,本文还介绍了一些使用C++的应用,并给出了进一步阅读的建议。
第二章 C++的设计和演化(The Design and Evolution of C++)
?
C++ATT Bell Laboratories的Bjarne Stroustrup(即本文作者)设计和实现的,它兼具Simula语言在组织与设计方面的特性以及适用于系统程序设计的C语言设施。C++最初的版本被称作“带类的C(C with classes)”[Stroustrup,1980],在1980年被第一次投入使用;当时它只支持系统程序设计(§3)和数据抽象技术(§4.1)。支持面向对象程序设计的语言设施在1983年被加入C++;之后,面向对象设计方法和面向对象程序设计技术就逐渐进入了C++领域。在1985年,C++第一次投入商业市场[Stroustrup,1986][ Stro
您可能关注的文档
- 案例4:公路绿化景观评价.doc
- 案例8阿里巴巴电子商务模式分析.doc
- 案例三 项目经理的困扰 案例四 “保沧高速公路C5合同段“进度控制过程.doc
- 案例二雷克萨斯车是如何成功问世的.doc
- 案例-昆明物流园区规划.ppt
- 案例分析中国社会消费品零售总额NK.doc
- 案例分析:治沙英雄的尴尬.ppt
- 案例名称:水的三态变化.doc
- 案例集锦第四章票据法.doc
- 案精华------含常见标点符号的口诀复习法.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)