自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 论坛 (68)
  • 收藏
  • 关注

原创 More Effective C++ 条款23

条款23:考虑变更程序库程序库的设计就是一个折衷的过程。理想的程序库应该是短小的、快速的、强大的、灵活的、可扩展的、直观的、普遍适用的、具有良好的支持、没有使用约束、没有错误的。这也是不存在的。为尺寸和速度而进行优化的程序库一般不能被移植。具有大量功能的的程序库不会具有直观性。没有错误的程序库在使用范围上会有限制。真实的世界里,你不能拥有每一件东西,总得有付出。不同的设计者给这些条件赋予了

2001-10-29 21:34:00 1134

原创 More Effective C++ 条款24

条款24:理解虚拟函数、多继承、虚基类和RTTI所需的代价此文包含一些图片,无法贴到文档区,所以我把word文档压成zip文件放在了文件交流区,请下载阅读,请下载C++编译器们必须实现语言的每一个特性。这些实现的细节当然是由编译器来决定的,并且不同的编译器有不同的方法实现语言的特性。在多数情况下,你不用关心这些事情。然而有些特性的实现对对象大小和其成员函数执行速度有很大的影响,所以对于这些

2001-10-28 22:00:00 1648

原创 More Effective C++ 条款22

 条款22:考虑用运算符的赋值形式(op=)取代其单独形式(op)大多数程序员认为如果他们能这样写代码:x = x + y;                    x = x - y;那他们也能这样写:x += y;                       x -= y;如果x和y是用户定义的类型(user-defined type),就不能确保这样。就C++来说,op

2001-10-25 21:57:00 1054

原创 More Effective C++ 条款21

 条款21:通过重载避免隐式类型转换以下是一段代码,如果没有什么不寻常的原因,实在看不出什么东西:class UPInt {                                 // unlimited precisionpublic:                                       // integers 类  UPInt(); 

2001-10-25 21:55:00 920

原创 More Effective C++ 条款20

条款20:协助完成返回值优化一个返回对象的函数很难有较高的效率,因为传值返回会导致调用对象内的构造和析构函数(参见条款19),这种调用是不能避免的。问题很简单:一个函数要么为了保证正确的行为而返回对象要么就不这么做。如果它返回了对象,就没有办法摆脱被返回的对象。就说到这。考虑rational(有理数)类的成员函数operator*:class Rational {public:

2001-10-20 16:37:00 973

原创 More Effective C++ 条款18

 条款18:分期摊还期望的计算在条款17中,我极力称赞懒惰的优点,尽可能地拖延时间,并且我解释说懒惰如何提高程序的运行效率。在这个条款里我将采用一种不同的态度。这里将不存在懒惰。我鼓励你让程序做的事情比被要求的还要多,通过这种方式来提高软件的性能。这个条款的核心就是over-eager evaluation(过度热情计算法):在要求你做某些事情以前就完成它们。例如下面这个模板类,用来表示放有大

2001-10-18 23:13:00 840

原创 More Effective C++ 条款19

条款19:理解临时对象的来源当程序员之间进行交谈时,他们经常把仅仅需要一小段时间的变量称为临时变量。例如在下面这段swap(交换)例程里:templatevoid swap(T& object1, T& object2){  T temp = object1;  object1 = object2;  object2 = temp;}通常把temp叫做临时变量。

2001-10-18 23:00:00 1076

原创 More Effective C++ 条款17

 条款17:考虑使用lazy evaluation(懒惰计算法)从效率的观点来看,最佳的计算就是根本不计算,那好,不过如果你根本就不用进行计算的话,为什么还在程序开始处加入代码进行计算呢?并且如果你不需要进行计算,那么如何必须执行这些代码呢?关键是要懒惰。还记得么?当你还是一个孩子时,你的父母叫你整理房间。你如果象我一样,就会说“好的“,然后继续做你自己的事情。你不会去整理自己的房

2001-10-17 10:22:00 720

原创 More Effective C++ 条款16

效率我怀疑一些人在C++软件开发人员身上进行秘密的巴甫洛夫试验,否则为什么当提到“效率”这个词时,许多程序员都会流口水。(Scott Meyers真幽默  译者注)事实上,效率可不是一个开玩笑的事情。一个太大或太慢的程序它们的优点无论多么引人注目都不会为人们所接受。本来就应该这样。软件是用来帮助我们更好地工作,说运行速度慢才是更好的,说需要32MB内存的程序比仅仅需要16MB内存的程序好,

2001-10-14 23:36:00 754

原创 More Effective C++ 条款15

 条款15:了解异常处理的系统开销为了在运行时处理异常,程序要记录大量的信息。无论执行到什么地方,程序都必须能够识别出如果在此处抛出异常的话,将要被释放哪一个对象;程序必须知道每一个入口点,以便从try块中退出;对于每一个try块,他们都必须跟踪与其相关的catch子句以及这些catch子句能够捕获的异常类型。这种信息的记录不是没有代价的。确保程序满足异常规格不需要运行时的比较(runti

2001-10-13 15:51:00 683

原创 More effective C++ 条款14

 条款14:审慎使用异常规格(exception specifications)毫无疑问,异常规格是一个引人注目的特性。它使得代码更容易理解,因为它明确地描述了一个函数可以抛出什么样的异常。但是它不只是一个有趣的注释。编译器在编译时有时能够检测到异常规格的不一致。而且如果一个函数抛出一个不在异常规格范围里的异常,系统在运行时能够检测出这个错误,然后一个特殊函数unexpected将被自动地

2001-10-10 22:38:00 680

原创 More effective c++ 条款10(上)

条款10:在构造函数中防止资源泄漏(上)如果你正在开发一个具有多媒体功能的通讯录程序。这个通讯录除了能存储通常的文字信息如姓名、地址、电话号码外,还能存储照片和声音(可以给出他们名字的正确发音)。为了实现这个通信录,你可以这样设计:class Image {                        // 用于图像数据public:  Image(const string& image

2001-10-10 18:26:00 715

原创 More effective c++ 条款10(下)

条款10:在构造函数中防止资源泄漏(下) 你可能已经注意到BookEntry构造函数的catch块中的语句与在BookEntry的析构函数的语句几乎一样。这里的代码重复是绝对不可容忍的,所以最好的方法是把通用代码移入一个私有helper function中,让构造函数与析构函数都调用它。class BookEntry {public:  ...                      //

2001-10-10 18:24:00 731

原创 More effective C++ 条款12

条款12:理解“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异 从语法上看,在函数里声明参数与在catch子句中声明参数几乎没有什么差别:class Widget { ... };                 //一个类,具体是什么类                                      // 在这里并不重要void f1(Widget w);    

2001-10-08 21:32:00 868

原创 More effective C++ 条款13

 条款13:通过引用(reference)捕获异常当你写一个catch子句时,必须确定让异常通过何种方式传递到catch子句里。你可以有三个选择:与你给函数传递参数一样,通过指针(by pointer),通过传值(by value)或通过引用(by reference)。我们首先讨论通过指针方式捕获异常(catch by pointer)。从throw处传递一个异常到catch子句是一

2001-10-08 21:31:00 769

原创 More Effective C++ 条款11

条款11:禁止异常信息(exceptions)传递到析构函数外在有两种情况下会调用析构函数。第一种是在正常情况下删除一个对象,例如对象超出了作用域或被显式地delete。第二种是异常传递的堆栈辗转开解(stack-unwinding)过程中,由异常处理系统删除一个对象。在上述两种情况下,调用析构函数时异常可能处于激活状态也可能没有处于激活状态。遗憾的是没有办法在析构函数内部区分出这两种情况

2001-10-06 23:33:00 843

原创 More Effective C++ 条款9

 异常C++新增的异常(exception)机制改变了某些事情,这种改变是深刻的,彻底的,可能是令人不舒服的。例如使用未经处理的或原始的指针变得很危险。资源泄漏的可能性增加了。写出具有你希望的行为的构造函数与析构函数变得更加困难。特别小心防止程序执行时突然崩溃。执行程序和库程序尺寸增加了同时运行速度减少了。这就使我们所知道的事情。很多使用C++的人都不知道在程序中使用异常,大多数人不知道如

2001-10-02 16:56:00 824

原创 More Effective C++ 条款8

 条款8:理解各种不同含义的new和delete人们有时好像喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。当你写这样的代码:string *ps = new string("Memory Management");你使用的new是new操作符。这个操作符就象sizeof一样是语言内置的,你不能改变它的含义,它

2001-10-01 09:46:00 1081

空空如也

有没有类似于美萍的,适合公司用的局域网管理软件。

发表于 2003-12-23 最后回复 2012-11-23

在WORD VBA中,如果获得每个bookmark所对应的页号。

发表于 2005-03-24 最后回复 2005-04-07

200分询问:限制某些应用程序访问文件范围的程序

发表于 2004-02-29 最后回复 2004-08-16

硬盘损坏,需要一个备件进行修理,寻找东芝mk2018GAP 笔记本硬盘

发表于 2004-03-04 最后回复 2004-03-13

哪里可以下载ghost2003完全零售版

发表于 2003-12-26 最后回复 2003-12-27

通过HTTP下载MANDRAKE9.1和REDHAT9.0

发表于 2003-09-24 最后回复 2003-09-25

有网友哪我的文章当做侯捷的文章,把侯捷骂了一通,真是驴唇不对马嘴。

发表于 2003-09-01 最后回复 2003-09-01

200分求MS Project2002专业版下载地址,要求是HTTP下载。

发表于 2003-06-18 最后回复 2003-06-19

使用borland编译器( builder 编译boost时碰到问题,请大家帮忙看看

发表于 2002-07-17 最后回复 2003-05-06

谁帮我下载the Boost.Jam (for windows)

发表于 2002-07-15 最后回复 2003-05-06

200分提问,有没有可以在windows2000中使用的类似于ghost的磁盘备份工具(详细请进)

发表于 2002-11-24 最后回复 2002-12-25

奇怪!启动Visual Studio .NET, Norton Antivirus2002 报警

发表于 2002-12-13 最后回复 2002-12-14

哪里可以下载PowerQuest Drive Image 2002 6.0 正式零售版

发表于 2002-11-06 最后回复 2002-11-19

哪里可以下载有关windows CE的电子书。(150分)

发表于 2002-09-30 最后回复 2002-10-06

<Delphi 6 从入门到精通 > 翻译得极其差,大家千万不要再花冤枉钱了。

发表于 2002-08-20 最后回复 2002-10-02

共享软件Where is it作者发出的感叹,不再对公众发布新版软件(转载)

发表于 2002-07-25 最后回复 2002-08-24

C++ builder中有没有与VC中的__LOCAL_SIZE相对应的预定义变量。

发表于 2002-08-20 最后回复 2002-08-20

哪里可以下载C++ Builder 5 Developer's Guide 的英文电子版。

发表于 2002-08-20 最后回复 2002-08-20

推荐几种管理和定义热键的程序,以及虚拟桌面的程序

发表于 2002-08-02 最后回复 2002-08-12

在海淀图书城里有一个计算技书全场八折的地方。

发表于 2002-06-11 最后回复 2002-07-01

请问通过那个网站可以用过163网(不是教育网)访问水木清华的BBS文章,或者可以下载BBS清华版的文章。

发表于 2002-05-11 最后回复 2002-05-22

各位C++ fan们,如果让你们给其他人培训windows98和word,你们会怎么办?给个建议。

发表于 2002-05-09 最后回复 2002-05-15

C++ Primer 3rd 中文版终于出版了。

发表于 2002-04-28 最后回复 2002-05-13

裘宗燕为《The C++ Programming Language》专门建立的主页,有这本书中文译本的译者序言,原作者前言,第1章“致读者”和第23章“开发和

发表于 2002-05-01 最后回复 2002-05-04

大家来谈谈com、com+未来发展,现在是否还需要学习com的细节知识。

发表于 2002-05-02 最后回复 2002-05-04

请问,有谁知道为什么侯捷网站(jjhou.csdn.net)最近一个月都没有更新了,侯大师忙什么去了。

发表于 2002-04-17 最后回复 2002-05-04

裘宗燕为《C++语言的设计与演化》 建立的主页,其中有中英文对照的索引。

发表于 2002-05-02 最后回复 2002-05-03

100分求购。请问哪里可以下载cuj2001年光盘。如果可以用分数可以增加,最高给300分。

发表于 2002-04-12 最后回复 2002-04-27

c++ view 今年的运作情况怎么样,是否能够办成定期电子刊物。请虫虫、myan、cber回答。

发表于 2002-03-24 最后回复 2002-03-31

我想对“北京博彦科技发展有限责任公司”说:请你不要再糟蹋书了!!!! 我想对“清华大学出版社说”:出版这种书难道你们就不脸红吗????

发表于 2001-12-24 最后回复 2002-03-24

我对“技术书籍“论坛的希望

发表于 2002-03-23 最后回复 2002-03-23

下载delphi informant 杂志1995至2000年全部内容光盘,请进。该杂志内容极有价值。

发表于 2002-03-04 最后回复 2002-03-12

请 cdl371(心灵之路) 进来

发表于 2002-02-08 最后回复 2002-02-08

300分求解这个问题:smtp服务器之间传递信件时,如何通过验证?

发表于 2002-02-01 最后回复 2002-02-08

想问问大家,我还用继续翻译MEC么?一个调查。

发表于 2001-12-31 最后回复 2002-01-01

过瘾,今天到某出版社的书库去了一趟。

发表于 2001-12-19 最后回复 2001-12-28

巨好的FTP站点,有许多许多商业控件!!太全了!!还有许多电子书,俄国人办的,赶快去看。ftp://VCL:VCL@210.3.89.246/

发表于 2001-12-12 最后回复 2001-12-13

巨好的FTP站点,有许多许多商业控件!!太全了!!!还有许多电子书,俄国人办的,赶快去看。

发表于 2001-12-12 最后回复 2001-12-12

巨好的FTP站点,有许多许多商业控件!!太全了!!还有许多电子书,俄国人办的,赶快去看。

发表于 2001-12-12 最后回复 2001-12-12

巨好的FTP站点,有许多许多商业控件!!!太全了!!还有许多电子书,俄国人办的,赶快去看。

发表于 2001-12-12 最后回复 2001-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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