一个关于free的问题(100分)

P

plzw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在《delphi高手突破》一书中经常看到类似这样的code:
xx.free;
xx:=nil;
我不太明白为什么free之后还要给xx赋值nil?
 
free后就什么都不是了,所以要赋个空值
 
既然什么都不是了,为什么还要赋空值?
这个就是我不明白的地方呀。
 
xx.free之后,xx指向的对象释放了,但xx本身的值不一定等于nil,所以加一句xx := nil,这样以后就可以根据
xx是否等于nil来判断对象是否创建。
 
FreeAndNil();
 
明白了,接受答案,谢谢大家!

 
多人接受答案了。
 
顶部