cpp中的句柄 (二)

原创 2013年12月05日 14:44:36

如果希望用容器来保存因为继承而相关联的对象,若定义基类的容器,则当派生类被计入到容器中时,非基类部分将被切掉。为了解决这个问题,定义句柄。C++真正实现容器的面向对象无法通过对象本身,而必须通过指针或者引用。

Handle类又称为cover类。句柄类用来存储和管理基类的指针。指针所指对象的类型可以变化,它既可以指向基类类型对象又可以指向派生类的对象。用户通过句柄类访问继承层次的操作。因为句柄类使用指针执行操作,虚成员的行为将在运行时根据句柄实际绑定的对象的类型而变化。因此句柄掩盖了指针,用户不需要担心对指针的误操作。用户通过句柄来调用多态的函数。

句柄类有默认构造函数,复制构造函数和接受item_base对象的构造函数。最后一个构造函数接受基类对象,并且随基类对象一起存在。当复制基类对象时将复制指针而非对象,通过指针来管理副本。句柄内部存储两个指针,一个存储基类指针,另一个存储计数类的指针。因此多个句柄可以共享一个计数类。然后句柄会实现自己的解引用操作符号和转发操作符号。

打开被独占的文件方法(二) -- 修改句柄访问权限

打开被独占的文件方法(二) -- 修改句柄访问权限 2010年06月08日 星期二 11:40 来自:http://hi.baidu.com/wsh_chb/blog/item/1dfafadd4...
  • angelxf
  • angelxf
  • 2012年04月27日 15:49
  • 2071

[C++]什么是句柄?为什么会有句柄?

从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是”Handle”,本义就是”柄”,只是在计算机科学中,被特别地翻译成”句柄”,其实还是个”柄”。从一个小东西拎起一大堆东西,这难...
  • cn_wk
  • cn_wk
  • 2017年02月27日 20:54
  • 744

关于Matlab中句柄@的用法

句柄的使用格式: 变量名=@(输入参数列表)运算表达式 例如计算一个数的平方可以写成如下格式: mysqr=@(x)x.*x; %第一个(x)为输入的参数,而后面x.*x则为数学意义上的x^2...
  • gzp444280620
  • gzp444280620
  • 2015年10月19日 17:35
  • 2018

java中对象句柄的解释

所有这些在Java里都得到了简化,任何东西都可看作对象。因此,我们可采用一种统一的语法,任何地方均可照搬不误。但要注意,尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“句柄”(Handl...
  • thiswj
  • thiswj
  • 2015年06月12日 23:34
  • 5101

MFC中句柄和指针的区别

句柄源代码: #ifdef STRICT typedef void *HANDLE; #define DECLARE_HANDLE(name) struct name##__ { int unu...
  • ThinkHeart
  • ThinkHeart
  • 2017年04月03日 13:46
  • 321

C++中句柄

一、句柄的概念 1.windows方面理解: 句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸...
  • my183100521
  • my183100521
  • 2013年10月10日 14:20
  • 1845

Linux 句柄是什么 ?

1.句柄就是一个标识符,只要获得对象的句柄,我们就可以对对象进行任意的操作。 2.句柄不是指针,操作系统用句柄可以找到一块内存,这个句柄可能是标识符,map的key,也可能是指针,看操作系统怎么...
  • GoOnDrift
  • GoOnDrift
  • 2014年01月29日 16:49
  • 2152

VC++中的句柄

句柄(handle)是一种资源的标识; 操作系统要管理这些资源,都是通过句柄来找到对应的资源。 句柄有点类似于指针, 资源都会占用一定的内存,当我们需要使用这些资源的时候,就需要获得这些内存中的资源,...
  • yanghangjun
  • yanghangjun
  • 2012年01月10日 20:31
  • 1060

函数句柄的理解

觉得自己很少用函数句柄,但是经常遇到,所以在这里总结一下。 函数句柄:是包含了函数的路径、函数名、类型以及可能存在的重载方法。 函数句柄必须通过专门的定义创建的,而一般的图像的句柄是自动建立的。 ...
  • u011936142
  • u011936142
  • 2013年12月19日 17:04
  • 4464

VB句柄概念-不懂以后深入理解

最近在学习windows API的时候发现在个叫句柄的概念搞不清楚,于是查了一下现在把自己的理解写出来,后面再贴网上的介绍。句柄是一个代表窗口的正整数,当然窗口的概念在这里包含了桌面、按钮、滚动条等,...
  • woshi1douzi
  • woshi1douzi
  • 2010年04月12日 19:12
  • 3663
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cpp中的句柄 (二)
举报原因:
原因补充:

(最多只允许输入30个字)