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