![]() |
1
5
句柄是引用操作系统或库所拥有的对象的间接方法。当操作系统或库拥有一个对象,但希望让客户机引用它时,它可以提供对该对象的引用,称为句柄。 句柄可以用不同的方式实现。通常它们不是C++或C语言意义上的引用。它们通常是转换为某种不透明类型的指针,或者可能是(或包含)操作系统或库所拥有的对象表的索引。 例如,在Windows中,如果创建一个窗口,操作系统将创建一个表示该窗口的对象,但不会返回指向该对象的指针。相反,它返回一个窗口句柄,它提供了一个额外的间接层。当您在另一个操作系统调用中传递窗口句柄时,操作系统会根据该句柄知道要使用哪个窗口对象。这会阻止代码直接访问窗口对象。 额外的间接层允许操作系统或库执行诸如四处移动对象、引用计数对象以及一般控制对象发生的事情。与PIMPL习惯用法一样,实现可能会完全更改,同时仍然保留原始API,因此不会强制客户端重新编译。如果您试图为使用C等程序语言编写的客户机提供一个非面向对象的API,那么它尤其有用。 |
![]() |
2
5
“handle”是 参考 到由程序员显式而不是由运行时自动管理的资源。 |
![]() |
3
1
句柄是指向非托管资源的指针,如文件句柄、数据库连接句柄、Windows句柄等…因为它们是非托管资源的句柄,在大多数情况下,它们不会被自动垃圾收集,所以您需要确保正确地释放它们,否则您可能会听说 漏水把手 . |
|
Jooseppi Luna · 在有条件的情况下,你把做作业叫做什么? 7 年前 |
![]() |
konchy · 为什么我们称CNN中的完全连接层为“顶层”? 7 年前 |
![]() |
Michal Charemza · 始终为真的if条件的术语 7 年前 |
![]() |
user3478869 · “实时软件开发”一词指的是什么? 9 年前 |
![]() |
Sumit Gera · C++中的辅助函数是什么? 11 年前 |
![]() |
Tarik · 如何理解“合同”的含义 11 年前 |