这一行为背后的根本原因是为了防止“当你在一个 library 或者 application framework 中创建一个新的 derived class 时,偶然地发生从遥远的 bas
Item 33: 避免覆盖(hiding)通过继承得到的名字 作者:译者: 发布: 莎士比亚有一个关于名字的说法。"What's in a name?" 他问道,"A r
The Strategy Pattern via tr1::function(经由 tr1::function 实现的策略模式) 一旦你习惯了 templates(模板)和 implicit int
Item 30: 理解 inline 化的介入和排除 inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多(参见 ),
The Strategy Pattern via tr1::function(经由 tr1::function 实现的策略模式) 一旦你习惯了 templates(模板)和 implicit int
Item 35: 考虑可选的 virtual functions(虚拟函数)的替代方法 作者: 译者: 发布: 现在你工作在一个视频游戏上,你在游戏中为角色设计了一个 hierarchy(继承体系)。
有时候,即使当编译器完全心甘情愿地 inline 化一个函数,他们还是会为这个 inline 函数生成函数本体。例如,如果你的程序要持有一个 inline 函数的地址,编译器必须为它生成一个 out
Item 35: 考虑可选的 virtual functions(虚拟函数)的替代方法 作者: 译者: 发布: 现在你工作在一个视频游戏上,你在游戏中为角色设计了一个 hierarchy(继承体系)。
Item 29: 争取异常安全(exception-safe)的代码 异常安全(Exception safety)意义深远(pregnancy)……但是,请把这个想法保持一
无论如何,让我们把它放在一边,并且依然假装 changeBackground 可以提供强力保证。(我相信你至少能用一种方法做到这一点,或许可以通过将它的参数从一个 istream 改变到包含图像数