Bjarne Stroustrup:概觀C++程式設計語言 (轉)
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Bjarne Stroustrup 語錄JAR
- Bjarne Stroustrup的 C++ 風格與技術常見問題與答案(轉)JARC++
- C++之父B. Stroustrup近期言論 (轉)C++
- Bjarne Stroustrup的 C++ 風格與技術常見問題與答案 (節譯一) (轉)JARC++
- C++之父Bjarne Stroustrup訪談問題有獎徵集(圖靈訪談)C++JAR圖靈
- 掀起C++0x的蓋頭來:C++之父Bjarne Stroustrup訪談C++JAR
- C++的函數語言程式設計C++函數程式設計
- Bjarne Stroustrup(BS)博士在 The C++ Programming Language(Special Edition)中對讀者的忠告2(摘抄) (轉)JARC++
- Bjarne Stroustrup(BS)博士在 The C++ Programming Language(Special Edition)中對讀者的忠告1(摘抄) (轉)JARC++
- C 語言程式設計(unix) (轉)程式設計
- 程式語言概覽(90%)
- 閒言碎語話程式設計 (轉)程式設計
- 程式語言面面觀
- C++之父Bjarne Stroustrup: 簡單的表述方式才是最優的方案(圖靈訪談)C++JAR圖靈
- Linux下C語言程式設計(轉)LinuxC語言程式設計
- ‘程式語言‘ ’程式設計工具’程式設計
- 程式語言設計,程式設計哲學程式設計
- C語言程式設計C語言程式設計
- 面嚮物件語言概論 (一) (轉)物件
- C語言高效程式設計的幾招(轉)C語言程式設計
- 聊聊C語言/C++—程式和程式語言C語言C++
- 多國語言程式設計之資源轉換 (轉)程式設計
- C++語言概述 (轉)C++
- 高質量C++/C程式設計指南(前 言) (轉)C++C程式程式設計
- 程式語言BASIC程式設計師的啟蒙語言C程式程式設計師
- [轉]水木社群函數語言程式設計語言版版聚手記函數程式設計
- C++之父Bjarne談C++在2005年(轉)C++JAR
- Dart語言概覽Dart
- Linux下C語言程式設計簡介(轉)LinuxC語言程式設計
- JAVA語言程式設計思想Java程式設計
- 函數語言程式設計函數程式設計
- C語言程式設計原理C語言程式設計
- c語言程式設計題C語言程式設計
- 不學C++也能玩轉超算程式設計,史丹佛大學推出超算程式語言RegentC++程式設計
- C語言/C++對程式設計學習的重要性!C語言C++程式設計
- 卡馬克:用C++進行函數語言程式設計C++函數程式設計
- C++程式設計從零開始之語句(轉)C++程式設計
- Scala 函數語言程式設計(一) 什麼是函數語言程式設計?函數程式設計