C++語言正在走向完美,所以,C++語言值得學習(甚至研究),這些知識可以成為一切編程的基礎。然而在實踐中,不必全面的使用C++語言的各種特性,而應根據工程項目的實際情況,適當取舍(譬如動態類型信息、虛擬繼承、異常等特性的使用很值得商榷)。——《C++ Primer》(第5版)推薦序1
C++11標準公布后,C++社群出現了久違的熱情,有人甚至叫出了“C++的復興”。指望C++回到20世紀90年代中期那樣的地位顯然是昧與大勢的奢望,但是C++經歷了這么多年的打磨與起伏,其在工業界的地位已經非常穩固,在很多領域里已經是不可取代也沒有必要被取代的統治者。新標準的出現能夠大大提升C++開發的效率和質量,因此贏得歡呼也是情理之中。——《C++ Primer》(第5版)推薦序2
在C++11以前,C++的抽象可以說存在若干缺陷,其中最嚴重的是缺少自動內存管理和對象級別的消息發送機制。今天看來,C++98只能說是特定歷史條件造成的半成品,無論是從語言機制還是標準庫完備程度來說,可以說都存在明顯的、不容忽略的缺陷。其直接后果,就是優雅性的缺失和效率的降低。——《C++ Primer》(第5版)推薦序2
C++11出來之后,增強的語言機制和大為完善的標準庫,為C++語言的編程風格帶來了革命性的變化。如果能夠純熟地運用C++11的新特性、新機制,那么就能夠形成一種簡介優雅的C++編程風格,以比以前更高的效率、更好的質量進行軟件開發。——《C++ Primer》(第5版)推薦序2
C++為何具有如此強大的生命力?首先,這和它背靠C語言這種“標準通用匯編”是分不開的,C++是作為一種“高級的C”而存在的,它始終可以看作是一種C語言的簡寫法,任何一句C++都有著深刻的C語言背景,可以直接落實為C語言,進而落實為任何一種計算機最底層的機器碼。這一點,是任何解釋型語言都做不到的,因而在效率上它們無法和C++比拼。另一方面,C++又有強大的抽象能力,它以奇妙的方式融合著5種編程泛型,即面向過程、基于對象、面向對象、泛型和函數式,在將所有范型的優點提煉并發揮到極致的同時,又不拘泥于其中的任何一種。——《C++ Primer》(第5版)推薦序3
C++語言是徹底的拿來主義和實用主義,因而它不會在“是否應該提供單根結構以保持面向對象的純潔性”這樣的問題上糾纏不清,它只會考查每一種語言特性將落實為怎樣的編譯結果,哪種編譯結果符合“不為用不大的特性付出成本”、“與現存代碼可以兼容”等若干簡明的規則,這種語言特性就按照哪種方式來定義和實現。現有的編程語言中,沒有哪種可以在靈活性和效率的平衡上能達到C++的高度。——《C++ Primer》(第5版)推薦序3
2011年,C++標準委員會發布了ISO C++標準中的一個重要修訂版。此修訂版是C++進化過程中的最新一步,延續了前幾個版本對編程效率的強調。新標準的主要目標是:使語言更為統一,更易教學;使標準庫更簡單、安全,使用更高效;使編寫高效率的抽象和庫變得更簡單。 ——《C++ Primer》(第5版)前言
現代C++語言可以看作是三個部分:低級語言,大部分繼承自C語言;現代高級語言特性,允許我們定義自己的類型以及組織大規模程序和系統;標準庫,它利用高級特性來提供有用的數據結構和算法。——《C++ Primer》(第5版)前言