gpt4 book ai didi

terminology - "handle"究竟是什么?

转载 作者:行者123 更新时间:2023-12-04 10:31:25 26 4
gpt4 key购买 nike

我经常听说“ handle ”,那到底是什么?

编辑:
例如,我听说过:
window Handlebars
事件句柄
文件句柄

等等。那些东西是一样的吗?或者它们是一些抽象术语?

最佳答案

句柄是引用操作系统或库拥有的对象的间接方式。当操作系统或库拥有一个对象但想让客户端引用它时,它可以提供对该对象的引用,称为句柄。

句柄可以用不同的方式实现。通常,它们不是 C++ 或 C# 意义上的引用。它们通常是指向某种不透明类型的指针,或者它们可能是(或包含)操作系统或库拥有的对象表的索引。

例如,在 Windows 中,如果您创建一个窗口,操作系统会创建一个代表该窗口的对象,但它不会返回指向该对象的指针。相反,它返回一个窗口句柄,它提供了一个额外的间接层。当您在另一个 OS 调用中传递回窗口句柄时,OS 会根据句柄知道要使用哪个窗口对象。这可以防止您的代码直接访问 window 对象。

额外的间接层允许操作系统或库执行诸如移动对象、引用计数对象以及通常控制对象发生的事情等操作。与 PIMPL 习惯用法一样,实现可能会完全更改,同时仍保留原始 API,因此不会强制客户端重新编译。如果您尝试为使用 C 等过程语言编写的客户端提供非面向对象的 API,则它特别有用。

关于terminology - "handle"究竟是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3620456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com