本書是一本 C++程式語言與程式庫的參考書(中文版為《C++語法暨程式庫標準辭典》),內容涵蓋C++國際標準ISO/IEC 14882:1998(E)以及技術勘誤表(TC1)。

本書適合已經學會C++的人,拿來當參考書,並不適合完全不懂C++的人,拿來當入門書。

C++初學者應該會覺得本書的某些內容難以理解,儘管每節包含了一些語法建議和特定語言架構的適當用法,主要焦點仍然是在參考資料上。

屬操作參考書,非入門教學書

長期以來,C++一直是主流的語言,有許多使用者,也有各種衍生的語言擴充以及程式庫擴充。本書除了在附錄裏有稍微提及語言擴充和程式庫擴充之外,其他部分僅包含標準的C++。其實光是標準程式庫就已經很龐大了,包含字串、容器、泛型演算法及更多其他內容,所以這本書的厚度也不小。

本書分為程式語言與程式庫兩個部份以及附錄。第 1 ~ 7 章、第 11章、第 12 章內容涵括程式語言。1 ~ 7 章為主要程式語言參考部分,依標頭整理列出。第 12 章將關鍵字依字母順序列出。第 11 章為前置處理器之參考。第 13 章為程式庫參考,依標頭字母順序組織。第 8 ~ 10 章為程式庫之大局觀。

各章節內容詳述如下:第一章是語言基本要點,說明 C++ 程式語言的基本規則:字元集、字組、字面資料等等。第二章說明如何宣告物件、型別和名稱空間。第三章說明運算子、優先順序和型別轉換。

第四章說明所有 C++ 之statement。第五章說明函式宣告式和定義、多載(overload)、引數傳遞。第六章說明類別(及聯集與結構)、成員、虛擬函式、繼承、存取性及多重繼承。

第七章說明類別與函式模板宣告、定義、及如何使用模板。第八章介紹標準程式庫。第九章介紹標準程式庫之輸入及輸出(I/O),包含已格式化和未格式化I/O、串流緩衝區。

第十章介紹STL,也就是容器類別模板套件、iterator和泛型演算法。第十一章是前置處理器的參考資料。第十二章為語言及文法之參考資料。第十三章是整個標準程式庫的參考資料,依標頭字母順序及各標頭內容名稱之字母順序組織。光是第十三章就佔了半本書的篇幅。本書有兩個附錄。附錄A敘述一些編譯器擴充語言之方式。附錄B敘述一些公開、有趣的 C++ 專案。

範例擇要介紹,可另行下載程式碼

書中的例子都是完整、可編譯的程式。但是為了不要浪費太多紙張,書中移除可能會干擾到示範重點的程式碼,只列出重點局部的程式碼。大部分範例都可以從書上的網站下載完整的版本。

作者用數個不同的編譯器和程式庫測試過本書的範例程式,確定都可以編譯成功。

作者使用的編譯器包括了Linux/Borland Kylix 3.0、Linux/Comeau 4.3.0.1、Linux/GNU 3.2、Linux/Intel 7.0、Windows/Borland C++ Builder 6.4、Windows/Metrowerks CodeWarrior 8.3、Windows/Microsoft Visual Studio.NET 7.0。

關於C++,你大概不會想要閱讀它的規格書:「ISO/IEC 14882:1998(E),Programming Languages - C++」,該標準閱讀起來並不容易。C++ 標準程式庫包括了在 ISO/IEC 9899:1990 中完整記載之整個 C 標準程式庫,Programming Languages - C++,加上修訂一版 Amendment 1:1995(E)、C Integrity。

寫程式時隨時用得著

對於 C++ 的程式員來說,想要成功地寫個C++程式,需要十分熟悉語言和程式庫。但是,你不可能記住語言的各項特性,更不可能記住程式庫的全部標頭、類別定義、成員函數…等資訊,更應該不會想閱讀C++的規格書。只要透過「C++ in a Nutshell」,你可以進行「從標頭查程式庫」、「C++ 語言速查」、「C++ 前置處理器速查」,對程式設計會有很大的幫助。

C++ in a Nutshell
Ray Lischner/著
O'Reilly出版
售價:39.95美元
推薦:Amazon四顆半星

《作者簡介》蔡學鏞

清華大學資訊工程碩士,寰震科技技術顧問。曾任華碩集團軟體工程師、元智大學資訊系講師、美商歐萊禮出版社顧問、台灣微軟特約專欄作家。

蔡學鏞曾參與設計清華大學 Java VOD 系統,該系統並獲得第一屆 Java Cup 比賽校園組冠軍。蔡先生著譯有數本 Java 書籍,並在台灣和中國的雜誌開闢技術專欄。

熱門新聞

Advertisement