C++編程剖析
軟件“風格”所要討論的主題是如何在開銷與功能之間、優(yōu)雅與可維護性之間、靈活性與過分靈活之間尋找完美的平衡點。在本書中,著名的C++大師Herb Sutter給出了40個編程問題,其目的是為了使讀者不僅“知其然”,更要“知其所以然”,并幫助讀者在軟件開發(fā)中進行正確的決策。
本書是圍繞實際問題及其解決方案展開論述的,對一些至關重要的C++細節(jié)和相互關系提出了新的見解,為當今的關鍵C++編程技術(如泛型編程、STL、異常安全等)提供了新的策略。讀者會在書中找到下列問題的答案。
?可以從STL本身學習哪些庫設計的知識?
?如何避免削弱甚至損害模板代碼的通用性?
?為什么不應該對函數模板進行特化?正確的做法是什么?
?異常安全如何超越try和catch語句?
?什么情況下應當“泄漏”一個類的私有成分,怎么做?
?如何讓一個類不受版本變動的影響?
?...
軟件“風格”所要討論的主題是如何在開銷與功能之間、優(yōu)雅與可維護性之間、靈活性與過分靈活之間尋找完美的平衡點。在本書中,著名的C++大師Herb Sutter給出了40個編程問題,其目的是為了使讀者不僅“知其然”,更要“知其所以然”,并幫助讀者在軟件開發(fā)中進行正確的決策。
本書是圍繞實際問題及其解決方案展開論述的,對一些至關重要的C++細節(jié)和相互關系提出了新的見解,為當今的關鍵C++編程技術(如泛型編程、STL、異常安全等)提供了新的策略。讀者會在書中找到下列問題的答案。
?可以從STL本身學習哪些庫設計的知識?
?如何避免削弱甚至損害模板代碼的通用性?
?為什么不應該對函數模板進行特化?正確的做法是什么?
?異常安全如何超越try和catch語句?
?什么情況下應當“泄漏”一個類的私有成分,怎么做?
?如何讓一個類不受版本變動的影響?
?使用標準庫容器的實際內存開銷是多少?
?如何使用const才能真正優(yōu)化代碼?
?內聯對程序性能有何影響?
?為什么有些看似錯誤的代碼實際上卻能夠通過編譯且運行得很好?為什么我們要關心這種情況?
?std::string的設計有什么問題?
本書使讀者能夠在設計、架構和編碼的過程中保持良好的風格,從而編寫出更健壯和更高效的C++軟件。
Herb Sutter ISO C++標準委員會主席,C/C++ Users Journal雜志特邀編輯和專欄作家,Microsoft Visual C++架構師,領導.NET環(huán)境下C++語言擴展的設計工作。除本書外,他還撰寫了三本廣受贊譽的圖書:C++ Coding Standards、Exceptional C++和More Exceptional C++。
譯者簡介:
劉未鵬 畢業(yè)于南京大學軟件學院,熱愛C++,長期關注C++前沿技術,對C++有較深的研究。曾在《程序員》雜志上發(fā)表文章數篇,譯有Imperfect C++(與榮耀合譯)。個人blog為http://blog.csdn.net/pongba,郵箱[email protected]。
