Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2051619
  • 博文数量: 610
  • 博客积分: 11499
  • 博客等级: 上将
  • 技术积分: 5511
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-12 19:27
文章分类

全部博文(610)

文章存档

2016年(5)

2015年(18)

2014年(12)

2013年(16)

2012年(297)

2011年(45)

2010年(37)

2009年(79)

2008年(101)

分类:

2012-08-07 12:16:15

原文地址:C++ 的指针和句柄 作者:glinuxi

   在学习计算机相关知识过程中,经常会听到‘句柄’这个词,总是半懂不懂的。
   
  1、句柄,是整个windows编程的基础。一个句柄是指使用唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同实例。应用程序通过句柄访问相应对象的信息,但是据并不是指针,不能直接通过它来阅读文件中的信息。
 2、对于c++中的句柄和指针容易混淆。
    指针:他是内存的编号,通过它我们可以直接对内存进行操作,只要地址不变,我们操作的物理地址业界不变。----与句柄的重大区别。
   句柄:一般是指向系统资源的位置,也可以说是地址,但是这些地址一直保持不变。其实,对于windows 系统来说支持的是虚拟内存的技术,统一时间内可能有些资源被换出,有些资源被换进来。因此同一个资源在不同的时刻物理位置是不同的。window就是通过句柄来处理同一资源物理位置不断变化的问题。在window中固定的位置存储了一张表:记录了所有资源的实时地址,句柄其实没有直接指向资源的物理地址,而是指向对应表中的某一项,这样无论资源的物理地址怎么换,通过句柄都可以实时的找到他的实时位置。
3、指针其实指向的是对象,与迭代器类似,指针提供对其所指对象的简介访问,只是指针结构更加通用一些。指针用于指向单个对象,而迭代器只能用于访问容器内的具体元素


阅读(551) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~