关于NULL,nil,0(其实都知道,只不过我把他整理成册了)(一)
2002-04-28 09:33
387 查看
关于NULL,nil,0
用过C++的Delphi的程序员都知道,C++中的NULL在Delphi中为nil,意思是空指针
在C++中 为 (void*)0 在Dlephi中 为 Pointer(0)
但是,这不是绝对,因为Handle
在C++中Handle,是一个指针
在Delphi中Handle,被理解为一个整数了,于是一切差别就从这里开始
先看一个函数吧! 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暂且搁下)(见第二篇)
以上是我的一些看法,愿大家指正
用过C++的Delphi的程序员都知道,C++中的NULL在Delphi中为nil,意思是空指针
在C++中 为 (void*)0 在Dlephi中 为 Pointer(0)
但是,这不是绝对,因为Handle
在C++中Handle,是一个指针
在Delphi中Handle,被理解为一个整数了,于是一切差别就从这里开始
先看一个函数吧! 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暂且搁下)(见第二篇)
以上是我的一些看法,愿大家指正
相关文章推荐
- 几个常用的日期函数
- 如何实施手机短信轰炸
- 由C#谈起
- 如何在Java应用程序中实现copy图像功能。
- 简单的脚本帮你编排JScript程序中的缩进
- 我的课余兴趣“网页”
- 学校网页
- 小小闪客
- 工具的选择
- 得到 words.js?hello,world! 参数的处理方法
- 基于PHP的聊天室编程思想
- DCOM实现分布式应用(四)
- DCOM实现分布式应用(三)
- DCOM实现分布式应用(二)
- 获取其他线程的光标句柄[DELPHI]
- DCOM实现分布式应用(六)
- 下载Microsoft eMbedded Visual C++ 4.0(含CD Key)
- C++ Coding Tips - Chapter3. Templates
- 使用SQL-DMO备份数据库并进行校验
- 浅谈PHP+MYSQL身份验证的方法