?? 簡介.txt
字號:
譯序
這是我心儀已久的一本書我相信很多讀者也有同樣的感受
在所有的編程語言中C++可以說是最為復雜的它既是一門傳統的編程語言也是一門
新的編程語言說它是一門傳統語言是因為C++誕生已將近20 年的歷史了特別是最近10
年來C++得到了快速的發展C++是計算機軟件領域中覆蓋面最為廣闊的編程語言并且與
C++相關的智力投入也是其他任何一門語言所無法比擬的人們對于C++的研究已經遠遠超出
了對于一門編程語言所應有的關注所以現在的C++已經非常成熟有大量的資源文檔
書籍源代碼等等可供我們使用說C++是一門新的編程語言是因為在1998 年C++由ISO
International Standards Organization 完成了標準化從此C++領域有了統一的標準所
有的編譯器都將向標準靠攏或者說與標準兼容這有利于我們寫出可移植的C++代碼來
同時C++標準也統一了C++標準庫為C++用戶提供了最為基本的基礎設施C++經歷了多年
的發展終于有了一個相對穩定的版本所以我們應該用一種新的眼光來看待C++ 而不再
簡單地把C++認為是C 語言的超集本書正是新版本C++的寫照通過本書你可以重新審視
C++語言這是我翻譯過程中最為真切的體會它糾正了我過去對于C++語言的一些誤解雖
然我從1993 年開始就一直在使用C++ 但是直到閱讀了這本書之后我才從真正意義上全面
地認識了C++語言
本書的權威性無需我多說看看本書原著的前言了解了兩位作者的背景之后你就可以
知道這本書是經驗和標準的完美結合Stanley Lippman 從1984 年開始一直從事C++方面的
工作在C++的實現與應用方面有著豐富的經驗本書前兩個版本的成功也證明了他在闡釋
C++語言方面的獨到之處Josée Lajoie 從1990 年開始成為C++標準委員會的一名成員并且
承擔了很重要的職務由于她的參與毫無疑問本書一定是與標準兼容的
講述C++的書非常多并且不乏優秀和經典之作在如此眾多的C++書籍中本書仍具有
不可替代的地位我想主要的原因在于本書具有以下幾個特色
l 內容廣闊從本書的規模厚度就可以看出這一點C++語言融入了大量優秀的特
性其內容的豐富程度已經遠非C 語言所能及在所有的C++書籍中本書的覆蓋面是最為廣
闊的從最基本的C++程序設計到面向對象程序設計以及基于模板的程序設計面面俱到
而且講解細致入微值得仔細品味
2 許多實際的范例程序純粹的技術講解總是非常枯燥的但是閱讀本書并不感覺枯燥
因為作者在介紹每一部分內容的時候都結合一個實際的例子讀者通過這些例子能夠很容易地
掌握相應的技術要點并且看到每一種技術的實際用法這是本書之所以引人入勝的重要原因
之一
3 敘述內容的安排C++是一門多風格的程序設計語言multi-paradigm Programming
language 不僅支持面向對象程序設計也支持其他的程序設計思想本書的敘述結構正體現
了C++的這種特點作者從程序設計思想的角度分別講述了C++的各種語言要素便讀者比較
II 譯序
容易抓住C++語言的本質特征
4 與編譯器無關遵從C++標準本書的內容并不特定于某一個C++編譯器實現而
是適用于所有與C++標準兼容的編譯器作者在講解過程中也指出了編譯器的一些內部考慮
例如編譯器如何在各種上下文環境中解析重載函數如何處理除式類型轉換等等這些內
容有利于加深讀者對C++的理解
5 配套的練習在每一節講解之后作者給出了一些練習這些練習反映了這一節的中
心內容讀者通過這些練習可以鞏固所學的知識所以本書也可以被用作教材用于系統全
面地學習C++語言
雖然本書書名C++ Primer 的中文含義是C++初級讀本但是它絕對不是一本很輕
松的入門教材特別是關于名字空間函數重載解析過程模板機制和泛型算法generic
algorithms 等內容并不是一個C++初學者能夠很快掌握的如果你以前沒有看過其他的C++
書籍那么可能需要反復閱讀多遍才能掌握本書講述的內容如果你已經有了C++的基礎比
如已經看過其他的C++入門書籍那么閱讀本書可以讓你快速掌握C++的要點如果你是
一名有多年C++實踐經驗的程序員那么閱讀本書可以讓你重新理解C++ 總之這是一本很
好的學習和參考書籍值得你反復閱讀但是正如書名所指示的它不是一本高級書籍按
照我個人理解它的技術水準應該在中等偏深一點的層次上
本書的翻譯工作由我和張麗共同完成張麗完成了初稿的翻譯工作我做了第二遍翻譯檢
查工作書中每一句話我都認真檢查過個別地方還修改了原著的一些錯誤C++中有些術語
還沒有統一的中文說法對于這些術語的處理我們盡可能地做到符合中文的語言習慣讀者
可以參考本書最后所附的英漢對照索引這份索引是由中國電力出版社的諸位編輯手工制作完
成的他們是劉江朱恩從陳維寧程璐關敏劉君夏平宋宏姚貴勝常虹喬晶
閻宏感謝他她們的辛勤勞動
在翻譯過程中不斷收到讀者來信或者來電詢問這本書的出版情況我理解讀者對于一本
好書的迫切心情我的想法是有關C++的書籍和資料如此之多所以學習C++不一定非要
閱讀這本書但是它可以加快你學習的步伐并且幫助你深入而全面地理解C++ 既然你已經
看到了這本書那就不要錯過吧
這本書不會讓你失望的我堅信這一點
潘愛民
北京大學燕北園
前言
本書第二版和第三版之間的變化非常大其中最值得注意的是C++已經通過了國際標
準化這不但為語言增加了新的特性比如異常處理運行時刻類型識別RTTI 名字空
間內置布爾數據類型新的強制轉換方式而且還大量修改并擴展了現有的特性比如模
板template 支持面向對象object-oriented 和基于對象object-based 程序設計所需
要的類class 機制嵌套類型以及重載函數的解析機制也許更重要的是一個覆蓋面非
常廣闊的庫現在成了標準C++的一部分其中包括以前稱為STL 標準模板庫的內容新
的string 類型一組順序和關聯容器類型比如vector list map 和set 以及在這些類型
上進行操作的一組可擴展的泛型算法generic algorithm 都是這個新標準庫的特性本書
不但包括了許多新的資料而且還闡述了怎樣在C++中進行程序設計的新的思考方法簡而
言之實際上不但C++已經被重新創造本書第三版也是如此
在第三版中不但對語言的處理方式發生了根本的變化而且作者本身也發生了變化
首先我們的人數已經加倍而且我們的寫作過程也已經國際化了盡管我們還牢牢扎根
于北美大陸Stan Lippman 是美國人Josée Lajoie 是加拿大人最后這種雙作者關系也
反映了C++團體的兩類主要活動Stan 現在正在迪斯尼動畫公司Walt Disney Feature
Animation *致力于以C++為基礎的3D 計算機圖形和動畫應用而Josée 正專心于C++的定
義與實現同時她也是C++標準的核心語言小組的主席** 以及IBM 加拿大實驗室的C++編
譯器組的成員
Stan 是Bell 實驗室中與Bjarne Stroustrup C++的發明者一起工作的早期成員之一
從1984 年開始一直從事C++方面的工作Stan 曾經致力于原始C++編譯器cfront 的各種實
現從1986 年的版本1.1 到版本3.0 并領導了2.1 和3.0 版本的開發組之后他參與了
Stroustrup 領導的Foundation Research Project 項目中關于程序設計環境的對象模型部分
Josée 作為IBM 加拿大實驗室C++編譯器組的成員已經有八年時間了從1990 年開始她
成為C++標準委員會的成員她曾經擔任委員會的副主席三年日前擔任核心語言小組委員
會的主席已經達四年之久
本書第三版是一個大幅修訂的版本不僅反映了語言的變化和擴展也反映了作者洞察
力和經驗的變化
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -