Linuxkiss
    首页 Linux C/C++ C++面试 Qt答疑 Qml中文手册 Qt CMake Python 工具
Linuxkiss
www.linuxkiss.com 你可以精通一门IT技术
  1. 首页
  2. C++面试
  3. 正文

对于Windows句柄的理解及其与一般指针的区别

2020年10月14日 4点热度 0人点赞

【考点】

对于Windows句柄的理解及其与一般指针的区别

出现频率:★★★★

【解析】

指针对应着一个数据在内存中的地址,得到了指针就可以自由地修改该数据。

Windows并不希望一般程序修改其内部数据结构,因为这样太不安全。所以Window给每个使用GlobalAlloc等函数声明的内存区域指定一个句柄,句柄是一种指向指针的指针。

句柄和指针都是地址,不同之处在于:

(1)句柄所指的可以是一个很复杂的结构,并且很有可能是与系统有关的。比如说线程的句柄,它指向的就是一个类或者结构,它和系统有很密切的关系。当一个线程由于不可预料的原因而终止时,系统就可以返回它所占用的资料,如CPU、内存等。反过来想可以知道,这个句柄中的某一些项是与系统进行交互的,由于Windows系统是一个多任务的系统,它随时都可能要分配内存、回收内存、重组内存

(2)指针也可以指向一个复杂的结构,但是通常是由用户定义的,所以必需的工作都要用户完成,特别是在删除的时候。

标签: C/C++面试
最后更新:2020年10月14日

Leo

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >
关注公众号

日历
2021年4月
一 二 三 四 五 六 日
« 2月    
 1234
567891011
12131415161718
19202122232425
2627282930  
最新 热点 随机
最新 热点 随机
windows中出现"无法解析的外部符号"到底是什么原因 Qt5中lambda表达式用法,非常实用 warning: class 'InterFace' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator 无法解析的外部符号 "public: static struct QMetaObject const Windows下Qt代码出现的错误总结 QT Creator如何在创建项目的时候,头文件和cpp文件的首字母默认大写
6.4.2 源码包的安装过程 QML对象属性--自定义属性定义中的有效类型(Valid Types in Custom Property Definitions) QML旧版模块(Legacy Modules) Qt中如何使窗口在显示器的正中央显示? qmake中的替换函数absolute_path(path[, base]) QML对象属性--属性别名(Property Aliases)
标签聚合
openCv C++ qml中文手册 qml中文文档 qmake C/C++面试 Linux Qt

COPYRIGHT © 2020 Linuxkiss. ALL RIGHTS RESERVED.