请问:句柄和指针有什么区别?? 我始终在怀疑,这两个东西是不是一个东西因为有函数可以相互转换!为什么要设置句柄呢??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么设置句柄??是怕你用指针做坏事就像WIN的那些句柄实际上句柄在内存中有个指针表,可以用非常手段查得到,就是说给你个句柄你就只能用系统提供的API对指针所指的内容进行访问就相当于一个所有数据成员完全private的C++类一样,你只能使用他的各种方法,而不能访问他的变量 我想可以这样理解:指针是MFC引入的,句柄才是Windows的东西。 不是吧,指针是c语言本身就有的东西,而句炳是因为WINDOWS才有的特别产物 什么是“句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的 cy214(threadx) 为什么SORRY啊? IN WINNT.Htypedef void *HANDLE; 句柄不是Windows特有的产物。句柄是一个比较抽象的概念,它包含了面向对象的思想。记得微软一个高级软件设计师说过:给我句柄,我给你一切。句柄代表了一个对象实例。 如何递归删除CTreeView指定节点?。。。 创建线程时遇到的问题:堆上和栈上的区别 如何在用户界面线程中的成员函数中获得该工程下的视图类的指针? 跪求socket疑难阿 在VC下基于对话框的application如何用数据库 关于ShellExecuteEx()的问题! 请教一个读取HTML表格的问题,怎么以前都没人问呢,莫非是太简单了? 怎样设置CWnd对象的背景色啊??谢谢 如何将图标文件存入到一个dll文件中? 建立快捷方式的路径问题 关于PropertySheet的问题,结帐! 大侠们帮我看看!!!
是怕你用指针做坏事
就像WIN的那些句柄
实际上句柄在内存中有个指针表,可以用非常手段查得到,
就是说给你个句柄你就只能用系统提供的API对指针所指的内容进行访问
就相当于一个所有数据成员完全private的C++类一样,
你只能使用他的各种方法,而不能访问他的变量
东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生
证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)
享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能
到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,
你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。
而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以
句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,
但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是
对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的
typedef void *HANDLE;