【发布时间】:2012-11-18 16:46:06
【问题描述】:
我不知道把手后面是什么,也不知道它是否是一个大物体。一般来说,我在我的申请中通过了很多,因此如果你能告诉我应该如何通过它们会很好。按值、常量引用甚至指针?
编辑: 我应该提到我谈论的是位图句柄。也许这会有所作为。
好的,MSDN 有自己的页面,仅适用于大写窗口类型。
【问题讨论】:
-
据我了解,Handle 本身就是一种指针,但在您的程序中,它是一个整数,用于标识 Windows 中的某个对象。因此 WinAPI 不使用对象,而是使用“指向对象的指针”=句柄,指向 Windows 中的对象(在 API 后面)。因此,按价值传递它们应该是完全可以的。复制句柄不会复制它后面的对象。如果你想复制句柄后面的对象,我认为 API 应该提供这样做的函数。
-
好的,谢谢。因为它是某种指针,所以我猜不需要通过引用传递它们,是吗?
-
是的。但是你应该至少再等一个答案,因为我不是 100% 确定 ;)
-
@DevNoob Leemes 是对的,但是如果您想检查一下自己,尝试编写一个输出
sizeof(HANDLE)的程序,您会发现它们非常小。