Bjarne Stroustrup:概观C++程序设计语言

原创 2001年12月11日 09:22:00

 

From The Handbook of Object Technology (Editor: Saba Zamir). CRC Press LLC, Boca Raton. 1999. ISBN 0-8493-3135-8.<?XML:NAMESPACE PREFIX = O />

An Overview of the C++ Programming Language

 概观C++程序设计语言

Bjarne Stroustrup

AT&T Laboratories

Florham Park, NJ07932-0971, USA

 

[原著者]Bjarne StroustrupC++的设计者)

[翻译者]K ][ N G of @rk ™

[kingofark的话]翻译这位C++之父的大作真是对我的双重折磨,一来让一向对自己的英语水平颇有信心的我大受打击,二来也揭了我国语水平之“不足为外人道也”的老底。其实这也不是这次翻译才有的体会,早先就认识到了——所以忽然有一天发现自己其实是很自私、很无耻的,因为自己做翻译,无非是提高了自己的英语阅读能力;翻译出来的不堪入目的文章,且不说对不对得起原著者了,至少让很多高、低手看了以后被迫给我提意见和建议,最后还是我自己有所收获。吓!这不是自私是什么?这不是无耻又是什么?……当我把这篇文章无条件的(即强制性的)呈现给大家的时候,我已经面红耳赤,无地自容——所以,请大家唾弃我、批评我、教导我。我活该!……真诚的期待大家对我的批评。

 

   

本文通过举例,介绍了C++在如下三个方面中的一些关键的概念:C++的设计、C++程序设计以及C++语言的技术性内容。C++是一门部分的面向系统编程、通用目的的程序设计语言;它支持高效的低级运算、数据抽象、面向对象程序设计以及范型程序设计。

 

1          简介以及文本概要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++标准程序库]

介绍一些标准设施,比如输入/输出流、stringcontainer(例如vectorlistmap)、范型算法(例如sort()find()for_each()等)以及对数学计算的支持等。

最后,本文还介绍了一些使用C++的应用,并给出了进一步阅读的建议。




Bjarne Stroustrup:概观C++程序设计语言

  • hejishan
  • hejishan
  • 2008年04月08日 23:42
  • 156

Bjarne Stroustrup 对C++程序员的忠告

C++之父Bjarne Stroustrup写的《The C++ Programming Language (Special Edition)》中各章后面的忠告。第1章 致读者[1] 在编写程序时,你...
  • adm_qxx
  • adm_qxx
  • 2007年05月20日 09:33
  • 1534

Bjarne Stroustrup对C++初学者的3条建议

1. Dont panic! All will become clear in time; 2. You dont have to know every detail of C++ to write ...
  • asklxf
  • asklxf
  • 2004年07月05日 23:44
  • 3665

《C++程序设计语言(十周年纪念版)》【PDF】下载

《C++程序设计语言(十周年纪念版)》【PDF】下载链接: https://u253469.pipipan.com/fs/253469-230382171 内容简介 《C++程序设计语言特别版十周...
  • zhiyong499
  • zhiyong499
  • 2017年12月11日 15:44
  • 161

Bjarne Stroustrup博士对C++的看法

Bjarne Stroustrup博士,1950年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑桥大学,AT&T大规模程序设计研究部门负责 人, AT&T、贝尔实验室和ACM成员。1979年,B. S开...
  • livahu
  • livahu
  • 2006年11月23日 18:56
  • 731

Bjarne Stroustrup的FAQ:C++的风格与技巧

目录:1,我如何写这个非常简单的程序?2,为什么编译要花这么长的时间?3,为什么一个空类的大小不为0?4,我必须在类声明处赋予数据吗?5,为什么成员函数默认不是virtual的?6,为什么析构函数默认...
  • islyb
  • islyb
  • 2007年01月05日 15:51
  • 848

在C++中尽量少用宏

宏在C中有非常重要的地位,但是,在C++中,Bjarne Stroustrup建议非到万不得已,不要使用宏,因为C++提供了其他多种方法来取代宏。 没有必要的宏: #define PI 3.1416...
  • asklxf
  • asklxf
  • 2004年07月28日 22:09
  • 3332

计算机编程学习之路好书推荐【转】

文章目录 【推荐的原则】【计算机基础】【计算机网络】【数学(Mathematics)】【数据结构&算法(Data Structures & Algorithms)】【数据库(DataBase)】...
  • u013408431
  • u013408431
  • 2017年07月27日 14:31
  • 533

c++之父:Bjarne Stroustrup

ALNG Bjarne Stroustrup博士,C++语言的设计者和最初实现者,现任AT&T实验室的大型程序设计研究部的主管。著有《C++程序设计语言》(1985年第1版,1991年第2版,1997...
  • suncheng_hong
  • suncheng_hong
  • 2009年08月19日 15:55
  • 396

C++之父 Bjarne Stroustrup

人物简介      Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)博士,1950年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑桥大学,AT&T大规模程序设计研究部门负责人...
  • wj3319
  • wj3319
  • 2011年10月06日 17:30
  • 724
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Bjarne Stroustrup:概观C++程序设计语言
举报原因:
原因补充:

(最多只允许输入30个字)