句柄的初步认识

句柄真是个神奇的东西,记得本科时学编译原理有这个东西,后来看c++有句柄类,今天才意识到windows编程的而基础也叫句柄。

我看了网上几篇帖子的介绍,现在按照自己的理解复述一遍,也不知道准不准确。

windows是基于虚拟内存的,也就是为了满足各种应用程序内存的需要,windows的内存管理器经常来回的换入换出对象。这说明一个对象在内存中的位置是变化的,那怎样才能找到他呢?windows就成立了一家中介叫handler,当生成一个对象时,windows不返回这个对象的地址,而是返回存储这个对象地址的那个位置的名称,一个32bit的标示,也就是句柄。句柄可以看做是地址的地址,只不过这个地址的地址在整个程序运行过程中都不改变。

我们在要引用这个对象的时候,就来找它地址的地址,然后取出它的地址,然后找到它。当内存管理器要更换这个对象的地址时,只要更新这个地址的地址,就可以保证以后还能找到它了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值