本書中,C++大師HerbSutter通過40個編程問題,使讀者不僅“知其然”,更要“知其所以然”,幫助程序設計人員在軟件中尋找恰到好處的折中,即討論如何在開銷與功能之間、優(yōu)雅與可維護性之間、靈活性與過分靈活之間尋找完美的平衡點。本書是圍繞實際問題及其解決方案展開論述的,對一些至關重要的C++細節(jié)和相互關系提出了新的見解,為當今關鍵的C++編程技術(如泛型編程、STL、異常安全等)提供了新的策略。本書的目標是讓讀者在設計、架構和編碼過程中保持良好的風格,從而使編寫的C++軟件更健壯、更高效。本書適合中高級C++程序員閱讀。軟件“風格”所要討論的主題是如何在開銷和功能性之間、優(yōu)雅跟可維護性之間、靈活性與過分靈活之間尋找完美的平衡點。在本書中,著名的C++大師HerbSutter給出了40個編程問題,其目的不僅是為了使讀者“知其然”,更要“知其所以然”,并幫助讀者在軟件開發(fā)中進行正確的選擇。本書是圍繞實際問題及其解決方案展開論述的,對一些至關重要的C++細節(jié)和相互關系提出了新的見解,為當今的關鍵C++編程技術(如泛型編程、STL、異常安全等)提供了新的策略。讀者會在書中找到下列問題的答案。可以從STL本身學習哪些庫設計的知識?如何避免削弱甚至損害模板代碼的通用性?為什么不應當對函數模板進行特化?正確的做法是什么?異常安全性如何超越try和catch語句?應不應當使用異常規(guī)格?什么情況下應當“泄漏”一個類的私有成分,怎么做?如何讓一個類不受版本更動的影響?使用標準庫容器的實際內存開銷是多少?如何使用const才能真正優(yōu)化代碼?內聯對程序性能有何影響?為什么有些看似錯誤的代碼實際上卻能夠通過編譯且運行得很好?為什么我們要關心這種情況?std::string的設計有什么問題?本書使你能夠在設計、架構和編碼的過程中保持良好的風格,從而編寫出所有更健壯和更高效的C++軟件。