我始终在怀疑,这两个东西是不是一个东西
因为有函数可以相互转换!
为什么要设置句柄呢???

解决方案 »

  1.   

    为什么设置句柄??
    是怕你用指针做坏事
    就像WIN的那些句柄
    实际上句柄在内存中有个指针表,可以用非常手段查得到,
    就是说给你个句柄你就只能用系统提供的API对指针所指的内容进行访问
    就相当于一个所有数据成员完全private的C++类一样,
    你只能使用他的各种方法,而不能访问他的变量
      

  2.   

    我想可以这样理解:指针是MFC引入的,句柄才是Windows的东西。
      

  3.   

    不是吧,指针是c语言本身就有的东西,而句炳是因为WINDOWS才有的特别产物
      

  4.   

    什么是“句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的
    东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生
    证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)
    享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能
    到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,
    你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。
    而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以
    句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,
    但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是
    对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的
      

  5.   

    cy214(threadx) 为什么SORRY啊?
      

  6.   

    IN WINNT.H
    typedef void *HANDLE;
      

  7.   

    句柄不是Windows特有的产物。句柄是一个比较抽象的概念,它包含了面向对象的思想。记得微软一个高级软件设计师说过:给我句柄,我给你一切。句柄代表了一个对象实例。