java/jspc/c++phpmysqloraclemssqlvbvcc#asphtml/css/jssystemdelphiperlphotoshopother
 
 
Effective C++ 2e Item39

条款39: 避免 "向下转换" 继承层次 在当今喧嚣的经济时代,关注一下我们的金融机构是个不错的主意。所以,看看下面这个有关银行帐户的协议类(Protocol class )(参见条款34):...

Effective C++ 2e Item38

条款38: 决不要重新定义继承而来的缺省参数值 让我们从一开始就把问题简化。缺省参数只能作为函数的一部分而存在;另外,只有两种函数可以继承:虚函数和非虚函数。因此,重定义缺省参数值的唯一方法是重定...

Effective C++ 2e Item37

条款37: 决不要重新定义继承而来的非虚函数 有两种方法来看待这个问题:理论的方法和实践的方法。让我们先从实践的方法开始。毕竟,理论家一般都很耐心。 假设类D公有继承于类B,并且类B中定义了一...

Effective C++ 2e Item36

条款36: 区分接口继承和实现继承 (公有)继承的概念看起来很简单,进一步分析,会发现它由两个可分的部分组成:函数接口的继承和函数实现的继承。这两种继承类型的区别和本书简介中所讨论的函数声明和函数...

Effective C++ 2e Item35

继承和面向对象设计 很多人认为,继承是面向对象程序设计的全部。这个观点是否正确还有待争论,但本书其它章节的条款数量足以证明,在进行高效的C++程序设计时,还有更多的工具听你调遣,而不仅仅是简单地让...

Effective C++ 2e Item34

条款34: 将文件间的编译依赖性降至最低 假设某一天你打开自己的C++程序代码,然后对某个类的实现做了小小的改动。提醒你,改动的不是接口,而是类的实现,也就是说,只是细节部分。然后你准备重新生成程...

More Efffective C++ Item 1

More Effective C++ 翻譯沒經著者同意,翻譯及原文僅供學習交流使用 Item 1:指針輿引用的區別 指針輿引用看起來有很大區別(指針用"*"和"->"操作符,引用用"...

Effective C++ 2e Item33

条款33: 明智地使用内联 内联函数------多妙的主意啊!它们看起来象函数,运作起来象函数,比宏(macro)要好得多(参见条款1),使用时还不需要承担函数调用的开销。你还能对它们要求更多吗?...

Effective C++ 2e Item32

条款32: 尽可能地推迟变量的定义 是的,我们同意C语言中变量要放在模块头部定义的规定;但在C++中,还是取消这种做法吧,它没必要,不自然,而且昂贵。 还记得吗?如果定义了一个有构造函数和析构...

实例讲解 C 语言的循环结构

  这一讲开始之前,我们需要准备一个函数。这个函数的作用就是把一个百分制成绩转换成等级制。转换的过程我已经在讲解分支结构的时候详细阐述了,现在仅提供函数如下:   /* 准备 grade.h */...

实例讲解 C 语言的分支结构

  既然是实例分析,当然要有例子。好吧,先给出一个实验题:输入一个百分制成绩,要求输出该成绩是及及格。   很显然,应该使用分支结构将及格及不及格两种情况分别打印。给出解答程序如下: /*...

转贴:C++语言常见问题解:#121 ~ #140

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#105 ~ #120

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#94 ~ #104

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#81 ~ #93

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#54 ~ #80

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#33 ~ #53

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#16 ~ #32

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:#1 ~ #15

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:索引

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

转贴:C++语言常见问题解:译者前言

这是我从台湾的http://www.cis.nctu.edu.tw/chinese/doc/research/c++/C++FAQ-Chinese/发现的《C++ Frequently Asked Q...

Effective C++ 2e Item31

条款31: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用 本条款听起来很复杂,其实不然。它只是一个很简单的道理,真的,相信我。 先看第一种情况:返回一个局部对象的引...

Effective C++ 2e Item30

条款30: 避免这样的成员函数:其返回值是指向成员的非const指针或引用,但成员的访问级比这个函数要低 使一个成员为private或protected的原因是想限制对它的访问,对吗?劳累的编译器...

Effective C++ 2e Item29

类和函数: 实现 C++是一种高度类型化的语言,所以,给出合适的类和模板的定义以及合适的函数声明是整个设计工作中最大的一部分。按理说,只要这部分做好了,类、模板以及函数的实现就不容易出问题。但是,...

Effective C++ 2e Item28

条款28: 划分全局名字空间 全局空间最大的问题在于它本身仅有一个。在大的软件项目中,经常会有不少人把他们定义的名字都放在这个单一的空间中,从而不可避免地导致名字冲突。例如,假设library1....

Effective C++ 2e Item27

条款27: 如果不想使用隐式生成的函数就要显式地禁止它 假设想写一个类模板Array,它所生成的类除了可以进行上下限检查外,其它行为和C++标准数组一样。设计中面临的一个问题是怎么禁止掉Array...

Effective C++ 2e Item26

条款26: 当心潜在的二义性 每个人都有思想。有些人相信自由经济学,有些人相信来生。有些人甚至相信COBOL是一种真正的程序设计语言。C++也有一种思想:它认为潜在的二义性不是一种错误。 这是...

Effective C++ 2e Item25

条款25: 避免对指针和数字类型重载 快速抢答:什么是“零”? 更明确地说,下面的代码会发生什么? void f(int x); void f(string *ps); f(0);...

Effective C++ 2e Item24

条款24: 在函数重载和设定参数缺省值间慎重选择 会对函数重载和设定参数缺省值产生混淆的原因在于,它们都允许一个函数以多种方式被调用: void f();...

Effective C++ 2e Item23

条款23: 必须返回一个对象时不要试图返回一个引用 据说爱因斯坦曾提出过这样的建议:尽可能地让事情简单,但不要过于简单。在C++语言中相似的说法应该是:尽可能地使程序高效,但不要过于高效。 一...

Effective C++ 2e Item22

条款22: 尽量用“传引用”而不用“传值” C语言中,什么都是通过传值来实现的,C++继承了这一传统并将它作为默认方式。除非明确指定,函数的形参总是通过“实参的拷贝”来初始化的,函数的调用者得到的...

Effective C++ 2e Item21

条款21: 尽可能使用const 使用const的好处在于它允许指定一种语意上的约束——某种对象不能被修改——编译器具体来实施这种约束。通过const,你可以通知编译器和其他程序员某个值要保持不变...

Effective C++ 2e Item20

条款20: 避免public接口出现数据成员 首先,从“一致性”的角度来看这个问题。如果public接口里都是函数,用户每次访问类的成员时就用不着抓脑袋去想:是该用括号还是不该用括号呢?——用括号...

C++Builder定制系统菜单

学习C++Builder的资料真的很少,下面是从一本书中学到的,不知对大家有没有帮助,拿出来给大家看看: 通常在应用程序的主窗体中,利用鼠标左键点击左上角的图标,会弹出一个菜单,称之为“系...

Effective C++ 2e Item19

条款19: 分清成员函数,非成员函数和友元函数 成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不行。所以,如果有个函数必须进行动态绑定(见条款38),就要采用虚拟函数,而虚拟函...

Effective C++ 2e Item18

类和函数:设计与声明 在程序中声明一个新类将导致产生一种新的类型:类的设计就是类型设计。可能你对类型设计没有太多经验,因为大多数语言没有为你提供实践的机会。在C++中,这却是很基本的特性,不是因为...

Effective C++ 2e Item17

条款17: 在operator=中检查给自己赋值的情况 做类似下面的事时,就会发生自己给自己赋值的情况: class X { ... }; X a; a = a;...

Effective C++ 2e Item16

条款16: 在operator=中对所有数据成员赋值 条款45说明了如果没写赋值运算符的话,编译器就会为你生成一个,条款11则说明了为什么你会经常不喜欢编译器为你生成的这个赋值运算符,所以你会想能...

Effective C++ 2e Item15

条款15: 让operator=返回*this的引用 C++的设计者Bjarne Stroustrup下了很大的功夫想使用户自定义类型尽可能地和固定类型的工作方式相似。这就是为什么你可以重载运算符...

Effective C++ 2e Item14

条款14: 确定基类有虚析构函数 有时,一个类想跟踪它有多少个对象存在。一个简单的方法是创建一个静态类成员来统计对象的个数。这个成员被初始化为0,在构造函数里加1,析构函数里减1。(条款M26里说...

Effective C++ 2e Item13

条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同 顽固的Pascal和Ada程序员会经常想念那种可以任意设定数组下标上下限的功能,即,数组下标的范围可以设为10到20,不一定要是0...

Effective C++ 2e Item12

条款12: 尽量使用初始化而不要在构造函数里赋值 看这样一个模板,它生成的类使得一个名字和一个T类型的对象的指针关联起来。 template<class T> class Name...

Effective C++ 2e Item11

构造函数,析构函数和赋值操作符 几乎所有的类都有一个或多个构造函数,一个析构函数和一个赋值操作符。这没什么奇怪的,因为它们提供的都是一些最基本的功能。构造函数控制对象生成时的基本操作,并保证对象被...

Effective C++ 2e Item10

条款10. 如果写了operator new就要同时写operator delete 让我们回过头去看看这样一个基本问题:为什么有必要写自己的operator new和operator delet...

用C++Builder修改系统菜单

在FormCreate加入: HWND hSysMenu; LONG dw; Form1->Height =80; Form1->Width = 250; Form1->Lef...

Effective C++ 2e Item9

条款9. 避免隐藏标准形式的new 因为内部范围声明的名称会隐藏掉外部范围的相同的名称,所以对于分别在类的内部 和全局声明的两个相同名字的函数f来说,类的成员函数会隐藏掉全局函数: voi...

C++BUILDER非可视组件的消息处理技巧

C++BUILDER非可视组件的消息处理技巧   一个非可视的组件必须对Windows操作系统或用户定义的消息作出响应。然而,由于一个非可视组件没有窗口,因此它也没有窗口句柄,自然它也不能接收到消...

Effective C++ 2e Item8

条款8. 写operator new和operator delete时要遵循常规 自己重写operator new时(条款10解释了为什么有时要重写它),很重要的一点是函数提供的行为要和系统缺省的...

Effective C++ 2e Item7

条款7:预先准备好内存不够的情况 operator new在无法完成内存分配请求时会抛出异常(以前的做法一般是返回0,一些旧一点的编译器还这么做。你愿意的话也可以把你的编译器设置成这样。关于这个话...

Effective C++ 2e Item6

条款6:析构函数里对指针成员调用delete 大多数情况下,执行动态内存分配的的类都在构造函数里用new分配内存,然后在析构函数里用delete释放内存。最初写这个类的时候当然不难做,你会记得最后...

 
上一頁  下一頁
© 2005- 王朝網路 版權所有 導航