自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

艺术编程

人生四大想不开:出家、改嫁、自杀、搞软件开发

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除