关于NULL,nil,0(其实都知道,只不过我把他整理成册了)(一)





关于NULL,nil,0

用过C++Delphi的程序员都知道,C++中的NULLDelphi中为nil,意思是空指针

 

C++ (void*)0 Dlephi Pointer(0)

但是,这不是绝对,因为Handle


C++Handle,是一个指针


DelphiHandle,被理解为一个整数了,于是一切差别就从这里开始


先看一个函数吧! CreateWindow

C++的申明为:

HWND CreateWindow(

    LPCTSTR lpClassName, // pointer to registered class name

    LPCTSTR lpWindowName,       // pointer to window name

    DWORD dwStyle, // window style

    int x,      // horizontal position of window

    int y,       // vertical position of window

    int nWidth,       // window width

    int nHeight,       // window height

    HWND hWndParent, // handle to parent or owner window

    HMENU hMenu,   // handle to menu or child-window identifier

    HANDLE hInstance,     // handle to application instance

    LPVOID lpParam        // pointer to window-creation data

);

让我们来看看有几个指针(7个,返回值,前两个参数,后四个参数)

让我们再来看看在Delphi中的申明:

function CreateWindow(

    lpClassName: PChar;    // pointer to registered class name

    lpWindowName: PChar;   // pointer to window name

    dwStyle:Integer;     // window style

    x: Integer;       // horizontal position of window

    y: Integer;       // vertical position of window

    nWidth: Integer;  // window width

    nHeight: Integer;  // window height

    hWndParent: Integer;  // handle to parent or owner window

    hMenu: Integer;  // handle to menu or child-window identifier

    hInstance: Integer;  // handle to application instance

    lpParam: Pointer   // pointer to window-creation data

 ): Integer;

有几个指针呢?(有三个,前两个和最后一个参数)


如果在调用此函数时,夸张一点,将所有指针(以C++)全用NULL代替的话,在Delphi中,函数调用应是这样的:

hWnd:= CreateWindow( ’’,’’, ws_Child, 0,0,100,100,0,0,0,nil); //此函数只是例子


可见如果NULL指的是Handle的话,在Delphi中,它等价与0;其他吗?等价于nil(PChar暂且搁下)(见第二篇)

 

以上是我的一些看法,愿大家指正

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值