C++ Primer的第三版結合了Stanley B.Lippman的實踐經驗和Josée Lajoie對于ANSI/ISO標準C++的深入理解。這本指導書的第三版已經被重新改寫過,以便更加精確地講述標準C++的特性和用法。在本書中,對于C++初學者特別有價值的是一些來自真實世界中的程序例子,它們說明了泛型程序(generic program)的設計、面向對象程序的設計、模板的用法,以及使用標準C++進行程序設計的方方面面。而且,本書也在適當的地方講到了一些習慣用法以及效率指導。 第三版的變化分為四類: 1.涵蓋了語言所增加的新特性:異常處理、運行時刻類型識別、名字空間、內置bool類型、新風格的類型強制轉換。 2.涵蓋了新的C++標準庫,包括complex和string類型、auto_ptr和pair類型、順序容器和關聯(lián)容器類型(主要是list、vector、map、set容器),以及泛型算法。 3.對原來的文字作了調整,以反映出標準C++對原有語言特性的精煉、變化以及擴展。語言精煉的一個例子是,現(xiàn)在能夠前向聲明一個嵌套類型,這在以前是不允許的。語言變化的一個例子是,一個虛擬函數的派生類實例能夠返回一個“基類實例的返回類型”的派生類。這種變化支持一個被稱為clone 或factory的方法(關于clone()虛擬函數,見17.5.7節(jié)說明)。對原有語言特性進行擴展的一個例子是,現(xiàn)在可以顯式地指定一個函數模板的一個或多個模板實參。(實際上,模板已經被大大地擴展了,差不多已經成為一個新特性?。?4.加強了對C++高級特性的對待和組織方式,尤其是對于模板、類以及面向對象程序設計。Stan從一個相對較小的C++提供者團體到一般的C++用戶團體的轉移,帶來的一個影響是,他相信,越是深入地了解問題,則程序員越是能夠高明地使用C++語言。因此,在第三版中,許多情況下,我們已經把焦點轉移到如何更好地說明底層特性的概念,以及怎樣最好地使用它們,并指出在適當的時候應該避免潛在的缺陷。