5. Effective C++ 3rd Edition 中文版 第五章 (Item 26-31) (11)
fatalerror99
看不惯的事情越来越多了,想说点啥的冲动却越来越少了。
展开
-
[翻译] Effective C++, 3rd Edition, Item 26: 只要有可能就推迟 variable definitions(变量定义)
Item 26: 只要有可能就推迟 variable definitions(变量定义)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/只要你定义了一个带有 constructor(构造函数)或 destructor(析构函数)的类型的变量,当控制流程到达变量翻译 2005-08-17 00:22:00 · 2681 阅读 · 3 评论 -
[翻译] Effective C++, 3rd Edition, Chapter 5. 实现
Chapter 5. 实现作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/在很大程度上,为你的 classes(和 class templates(类模板))提供适当的定义以及为你的 functions(函数)(和 function templates(函数模翻译 2006-09-15 01:31:00 · 5249 阅读 · 1 评论 -
[翻译] Effective C++, 3rd Edition, Item 31: 最小化文件之间的 compilation dependencies(编译依赖)(下)
(点击此处,接上篇) 当 object references(引用)和 pointers(指针)可以做到时就避免使用 objects。仅需一个类型的声明,你就可以定义到这个类型的 references 和 pointers。而定义一个类型的 objects 必须要存在这个类型的定义。 只要你能做到,就用对 class declarations(类声明)的依赖替代对翻译 2005-09-05 00:31:00 · 3090 阅读 · 8 评论 -
[翻译] Effective C++, 3rd Edition, Item 30: 了解 inlining(内联化)的来龙去脉(下)
(点击此处,接上篇)有时候,即使编译器完全心甘情愿地 inline 一个函数,它们还是会为这个 inline function 生成函数本体。例如,如果你的程序要持有一个 inline function 的地址,编译器通常必然为它生成一个 outlined 函数本体。它们怎么能拿得出一个指向根本不存在的函数的指针呢?再加上编译器一般不会对通过函数指针的调用进行 inlining(内联化)的事实翻译 2005-08-31 00:04:00 · 2569 阅读 · 1 评论 -
[翻译] Effective C++, 3rd Edition, Item 30: 了解 inlining(内联化)的来龙去脉(上)
Item 30: 了解 inlining(内联化)的来龙去脉作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/inline functions ——多么棒的主意啊!它们看起来像 functions,它们产生的效果也像 functions,它们在各方面都比 mac翻译 2005-08-29 07:20:00 · 5180 阅读 · 5 评论 -
[翻译] Effective C++, 3rd Edition, Item 29: 争取 exception-safe code(异常安全代码)(下)
(点击此处,接上篇)然而,让我们把它放在一边,并且依然假装 changeBackground 可以提供 strong guarantee(强力保证)。(我确信你至少能提出一种方法让它做到这一点,或许可以通过将它的参数类型从一个 istream 变成包含图像数据的文件的文件名。)有一种典型的产生 strong guarantee(强力保证)的通用设计策略,而熟悉它是非常必要的。这个策略被称为 "翻译 2005-08-25 23:38:00 · 2826 阅读 · 3 评论 -
[翻译] Effective C++, 3rd Edition, Item 28: 避免返回 object 内部构件的 "handles"(“句柄”)
Item 28: 避免返回 object 内部构件的 "handles"(“句柄”)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/假设你正在一个与矩形有关的应用程序上工作。每一个矩形都可以用它的左上角和右下角表示出来。为了将一个 Rectangle obje翻译 2005-08-21 21:00:00 · 2994 阅读 · 1 评论 -
[翻译] Effective C++, 3rd Edition, Item 27: 最少化 casting(强制转型)(下)
(点击此处,接上篇)在深入探究 dynamic_cast 的设计意图之前,值得留意的是多数 dynamic_cast 的实现都相当慢。例如,至少有一种通用的实现部分地基于对 class names(类名)进行 string comparisons(字符串比较)。如果你在位于一个 single-inheritance hierarchy(单继承体系)四层深处的一个 object 上执行 dyna翻译 2005-08-18 23:32:00 · 2504 阅读 · 1 评论 -
[翻译] Effective C++, 3rd Edition, Item 29: 争取 exception-safe code(异常安全代码)(上)
Item 29: 争取 exception-safe code(异常安全代码)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/exception safety(异常安全)有点像 pregnancy(怀孕)……但是,请把这个想法先保留一会儿。我们还不能真翻译 2005-08-24 00:53:00 · 4688 阅读 · 10 评论 -
[翻译] Effective C++, 3rd Edition, Item 27: 最少化 casting(强制转型)(上)
Item 27: 最少化 casting(强制转型) 作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/C++ 的规则被设计为保证不会发生类型错误。在理论上,如果你的程序想顺利地通过编译,它就不应该试图针对任何 objects 做任何不安全的或无意义的操作。这是翻译 2005-08-18 01:11:00 · 4033 阅读 · 7 评论 -
[翻译] Effective C++, 3rd Edition, Item 31: 最小化文件之间的 compilation dependencies(编译依赖)(上)
Item 31: 最小化文件之间的 compilation dependencies(编译依赖)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/你进入到你的 C++ 程序中,并对一个 class 的 implementation(实现)进行了细微的改变。提醒你翻译 2005-09-01 23:24:00 · 4455 阅读 · 0 评论