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