什么意思????? (50分)

  • 主题发起人 主题发起人 crazyD
  • 开始时间 开始时间
C

crazyD

Unregistered / Unconfirmed
GUEST, unregistred user!
1-----------内存泄漏是什么?


2----------- public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
代码什么意思

3-----------重载这个概念是什么意思?
 
不能释放的内存,就是泄露的内存
 
内存泄露就是(非科学定义):在你的程序中,为变量赋予的内存地址
在变量不再使用时,没有被释放,在程序运行期间内,占用了内存。

注意以下几点:

一、通常,程序结束,你所有占用的内存,无论你释放释放了,都会被释放。
除非是OLE之类的。即:所有在你程序空间内占用的内存都会被释放。

二、内存未被释放的情况通常出现在:YourObject.Create,但没有Free.
或者说,你分配了指针的内容,用完后没有被释放。

三、如果出现内存泄露,会造成系统内存不断被你的程序占用。严重的
情况通常发生在:随着运行时间的加长,你的代码不断的创建,而不释放无用
的内存,这样,会导致你的机器最终不堪负荷。这种情况会在一直不停运行的
SERVER类程序里,尤其严重。
 
can't free!??
任兄说的很详细!

谁还有更多的解释呢
 
TO 任豆豆,::

呵呵 你转载 “歪就歪”前辈的话

过分了啊。 我刚才离线数据库里看到!·
 
基本的意思就是一块内存区域被分配后,还没有释放
你程序里所有变量(指针)都与它失去了联系.
这样这部分内存就不可再释放、重新分配了。
比如:
var
a:TObject;
begin
a := TObject.Create;//为一个TOject对象分配了内存,并把地址的值赋给指针a
a := nil; //内存泄露!!

end;
 
泄漏,很多情况下是指针造成的()
构造
析构
 
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override

定义两个公用方法Create,Destroy;
其中Create是构造方法,即创建对象后自动调用的方法,完成一些特殊的初始化操作.
Destroy是析构方法,即释放对象前自动调用的方法,完成一些特殊的结束操作.
constructor指示一个方法是构造方法
destructor指示一个方法是析造方法
override 说明这两个方法覆盖基类对应的方法.
覆盖的意思就是替换掉...
 
to ning_ning:

说的也不错, 还有补充的吗/
 
已经说的很详细了,
至于重载,任何一本C++书上都会讲。
 
那create free 和 constructor destructor


不是一个意思吗?
 
不是。
create 调用 constructor
free 调用 destructor
 
constructor和destructor 是关键词,是类的方法的两个修饰词。
create 和 free 只是两个普通的方法的名字,只不过用的比较普遍罢了。

完全可以用constructor修饰词定义一个别的名字的构造方法.
 
to yanyandt2:


俺的接受能力差了点 抱歉! :)

希望各位包含,别瞧不起这个问题
 
2----------- public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
代码什么意思

public 共有域访问属性,可被任何地方的类访问;
constructor构造器,构造对象并初始化对象的实例成员;
destructor析构函数释放所占的内存资源;
override覆盖,这是由于基类中有抽象或虚拟的相同方法
如: constructor Create(AOwner: TComponent); Vritual;
只有声明没有实现代码,派生类必须覆盖该方法,并在派生类实现该方法;

3-----------重载这个概念是什么意思?
在同一类中有2个或多个相同的方法名,通过传递不同的参数,实现不同的处理
 
传说中绝对的黑客高手:
用木马或起它的方式捕获“内存泄漏”的信息。
在密码学中“内存泄漏”就是系通安全最致命的地方,如果“内存泄漏”,对绝对的黑客高手
来说就是拿着钥匙开门!
 
多人接受答案了。
 
后退
顶部