本书中,C++大师HerbSutter通过40个编程问题,使读者不仅“知其然”,更要“知其所以然”,帮助程序设计人员在软件中寻找恰到好处的折中,即讨论如何在开销与功能之间、优雅与可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。本书是围绕实际问题及其解决方案展开论述的,对一些至关重要的C++细节和相互关系提出了新的见解,为当今关键的C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略。本书的目标是让读者在设计、架构和编码过程中保持良好的风格,从而使编写的C++软件更健壮、更高效。本书适合中高级C++程序员阅读。软件“风格”所要讨论的主题是如何在开销和功能性之间、优雅跟可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。在本书中,著名的C++大师HerbSutter给出了40个编程问题,其目的不仅是为了使读者“知其然”,更要“知其所以然”,并帮助读者在软件开发中进行正确的选择。本书是围绕实际问题及其解决方案展开论述的,对一些至关重要的C++细节和相互关系提出了新的见解,为当今的关键C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略。读者会在书中找到下列问题的答案。可以从STL本身学习哪些库设计的知识?如何避免削弱甚至损害模板代码的通用性?为什么不应当对函数模板进行特化?正确的做法是什么?异常安全性如何超越try和catch语句?应不应当使用异常规格?什么情况下应当“泄漏”一个类的私有成分,怎么做?如何让一个类不受版本更动的影响?使用标准库容器的实际内存开销是多少?如何使用const才能真正优化代码?内联对程序性能有何影响?为什么有些看似错误的代码实际上却能够通过编译且运行得很好?为什么我们要关心这种情况?std::string的设计有什么问题?本书使你能够在设计、架构和编码的过程中保持良好的风格,从而编写出所有更健壮和更高效的C++软件。