- 博客(16)
- 收藏
- 关注
翻译 [翻译] Effective C++, 3rd Edition, Item 30: 了解 inlining(内联化)的来龙去脉(下)
(点击此处,接上篇)有时候,即使编译器完全心甘情愿地 inline 一个函数,它们还是会为这个 inline function 生成函数本体。例如,如果你的程序要持有一个 inline function 的地址,编译器通常必然为它生成一个 outlined 函数本体。它们怎么能拿得出一个指向根本不存在的函数的指针呢?再加上编译器一般不会对通过函数指针的调用进行 inlining(内联化)的事实
2005-08-31 00:04:00 2505 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 5114 5
翻译 [翻译] Effective C++, 3rd Edition, Item 29: 争取 exception-safe code(异常安全代码)(下)
(点击此处,接上篇)然而,让我们把它放在一边,并且依然假装 changeBackground 可以提供 strong guarantee(强力保证)。(我确信你至少能提出一种方法让它做到这一点,或许可以通过将它的参数类型从一个 istream 变成包含图像数据的文件的文件名。)有一种典型的产生 strong guarantee(强力保证)的通用设计策略,而熟悉它是非常必要的。这个策略被称为 "
2005-08-25 23:38:00 2740 3
翻译 [翻译] 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 4635 10
翻译 [翻译] 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 2941 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 2437 1
翻译 [翻译] 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 3970 7
翻译 [翻译] 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 2621 3
翻译 [翻译] Effective C++, 3rd Edition, Terminology(术语)
Terminology(术语)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/这是一个所有程序员都应该了解的小型的 C++ vocabulary(词汇表)。下面的术语都足够重要,对它们的含义取得完全一致对于我们来说是完全必要的。declaration(声明
2005-08-14 21:02:00 2631 2
翻译 [翻译] Effective C++, 3rd Edition, Introduction(导言)
Introduction(导言)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/学习一种编程语言的基础是一回事;学习如何用那种语言设计和实现高效率的程序完全是另外一回事。对于 C++ ——一种以拥有非同寻常的能力范围和表现力而自豪的语言——更是尤其如此。如果能
2005-08-13 11:24:00 3907
翻译 [翻译] Effective C++, 3rd Edition, Item 25: 考虑支持一个 non-throwing swap(不抛异常的 swap)(下)
(点击此处,接上篇)那么该怎么做呢?我们依然需要一个方法,既使其他人能调用 swap,又能让我们得到更高效的 template-specific(模板专用)版本。答案很简单。我们依然声明一个 non-member(非成员)swap 来调用 member(成员)swap,只是不再将那个 non-member(非成员)声明为 std::swap 的 specialization(特化)或 over
2005-08-11 23:03:00 2640 6
翻译 [翻译] Effective C++, 3rd Edition, Item 25: 考虑支持一个 non-throwing swap(不抛异常的 swap)(上)
Item 25: 考虑支持一个 non-throwing swap(不抛异常的 swap)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/swap 是一个有趣的函数。最早作为 STL 的构件被引入,后来它成为 exception-safe progra
2005-08-10 01:05:00 4465 6
翻译 [翻译] Effective C++, 3rd Edition, Preface(前言)
Preface(前言)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/我在 1991 年写出了 Effective C++ 的最早版本,1997 年出了第二版,我更新了一些重要的方面的素材,但是,因为我不想使熟悉本书第一版的读者感到困惑,我尽最大可能保持了原有
2005-08-08 02:16:00 2656
翻译 [翻译] Effective C++, 3rd Edition, Item 24: 当希望将 type conversions(类型转换)应用于所有 parameters(参数)时,请声明为 non-member functions(非成员函数)
Item 24: 当希望将 type conversions(类型转换)应用于所有 parameters(参数)时,请声明为 non-member functions(非成员函数)作者:Scott Meyers 译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/在本书的 Introducti
2005-08-05 01:22:00 4233 26
翻译 [翻译] Effective C++, 3rd Edition, Item 23: 用 non-member non-friend functions(非成员非友元函数)取代 member functions(成员函数)
Item 23: 用 non-member non-friend functions(非成员非友元函数)取代 member functions(成员函数)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/想象一个代表 web browsers(网页浏览器)的 c
2005-08-03 00:55:00 3781 3
翻译 [翻译] Effective C++, 3rd Edition, Item 22: 将 data members(数据成员)声明为 private
Item 22: 将 data members(数据成员)声明为 private作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.csdn.net/fatalerror99/好了,先公布一下计划。首先,我们将看看 data members(数据成员)为什么不应该是 public(公有)的。然后,我
2005-08-01 23:06:00 3672 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人