Bjarne Stroustrup:概觀C++程式設計語言 (轉)

gugu99發表於2008-04-27
Bjarne Stroustrup:概觀C++程式設計語言 (轉)[@more@]

 

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

An Overview of the C++ Programming Language

 概觀C++設計語言

Bjarne Stroustrup

AT&T Laboratories

Florham Park, NJ07932-0971, USA

 

ideograph; TEXT-ALIGN: justify">[原著者]:Bjarne Stroustrup(C++的設計者)

[翻譯者]: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++標準程式庫]:

介紹一些標準設施,比如輸入/輸出流、string、container(例如vector、list和map)、範型演算法(例如sort()、find()、for_each()等)以及對數學計算的支援等。

最後,本文還介紹了一些使用C++的應用,並給出了進一步閱讀的建議。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003044/,如需轉載,請註明出處,否則將追究法律責任。

相關文章