请教:句柄与指针或者引用的关系

jinside99 2002-11-28 01:53:46
句柄是指针还是应用?或者是什么呢?
求教各位高手探讨探讨,高分相送!!!谢谢!
...全文
39 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
golinjin 2002-12-03
  • 打赏
  • 举报
回复
gz
fqcd555 2002-12-03
  • 打赏
  • 举报
回复
关注!
jinside99 2002-12-03
  • 打赏
  • 举报
回复
up
dawn33 2002-12-01
  • 打赏
  • 举报
回复
说穿了就是指针。
北极猩猩 2002-12-01
  • 打赏
  • 举报
回复
通常句柄是一个内核对象的标号。操作系统根据句柄对内核对象进行相应的操作。
再VC里它被定义为void*
kingofvc 2002-12-01
  • 打赏
  • 举报
回复
windows程序设计第五版中的解释
In Windows programming, a handle is simply a number that an application uses to identify something. In this case, the handle uniquely identifies the program. It is required as an argument to some other Windows function calls.
cxjddd 2002-11-30
  • 打赏
  • 举报
回复
看一看windef.h就可以看到,HANDLE其实就是void*,只是Windows用的一种方式。
kxw 2002-11-30
  • 打赏
  • 举报
回复
我觉得所有的东西都是一种标志,只是你想要它代表什么,它就代表什么。
cathyflowerhero 2002-11-30
  • 打赏
  • 举报
回复
是不是句柄就是指向某个数据结构的指针,通过句柄来调用此数据结构。而在VC中通常用某个整数(ID号)来代替这个指针。不知对不对,企望高手指点迷津。
ltxd 2002-11-29
  • 打赏
  • 举报
回复
第一,句柄肯定不是引用,请问C里面有引用的概念吗?没听说过用纯C不能编WINDOWS程序的,再说你申明一个句柄时必须要初始化吗?

第二:
句柄就是指针,它指向的是某片内存区,里面包含了描述此句柄的相关数据,但不同的句柄指向的内存区的数据结构是不一样的,为了描述不同的对象如windows,brush,instance,windows会为它们定义不同的结构,如下伪代码所示

struct tag_Window
{
...
}

struct tag_Brush
{
...
}
struct tag_Instance
{
...
}
那它们相应的句柄就是struct tag_Window *, struct tag_Brush *, struct tag_Instance *...
当然,它有一个通用的句柄HANDLE,就是void *

如果要以面向对象的观点来看,将句柄看成this指针好了

yang6130 2002-11-29
  • 打赏
  • 举报
回复
句柄只是一个代号(通常是一个Integer值),好比宾馆的房间号,在WINDOW中各个窗口/图标/菜单都有这个代号
jinside99 2002-11-29
  • 打赏
  • 举报
回复
能否详细一点解释呢,因为看了一篇比较句柄和指针的文章实在是困惑啊,
yusiwen 2002-11-28
  • 打赏
  • 举报
回复
句柄不只是指针,还包括对象的访问掩码和标志

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧