nil和Null有什么区别吗?(1分)

  • 主题发起人 主题发起人 shenger
  • 开始时间 开始时间
nil指对象为空
vc里的null相当于delphi里的nil
请行家指正
 
没什么区别吧!
就好像c++中的This,Vb里的Me,以及Delphi里的Self[:D][:D]
 
To shenger:
在Object Pascal中,Nil用于判断指针是否为空,Null用于判断数值是否为空值。
 
Nil是空指针,它的值为零,
NULL是一定义在Variants里的函数

function Null: Variant;
begin
_VarClear(TVarData(Result));
TVarData(Result).VType := varNull;
end;

 
那么 varNULL是不是=0?
nil=0?
 
null、nil 和0可不是一个概念
 
null 和 nil 意思上是空值,但是不是具体的值0,两个可以说是同等地位,但是含义不同。
 
接上:一个是不存在任何值 只个是存在一个为0的值
 
可理解为两个不同的字符。
 
在Delphi中:
NULL表示null Variant,表示未知类型的数据,可以赋给任何Variant型变量。
如果函数的返回是Variant类型,可以直接返回null。
Nil表示空指针,可以赋给任何指针变量,此时指针什么也不指向。
此时,0和nil一样,因为0会被Delphi转换成nil类型。
在C++中:
NULL表示空指针。
nil不能在C++使用。
不知道这样说明白吗?
(copy)
 
后退
顶部