glfwGetWindowUserPointer有什么作用?

问题描述 投票:0回答:1

在查看GLFW参考时,我遇到了glfwGetWindowUserPointer函数(以及glfwSetWindowUserPointer函数)。在参考文献中,它描述了关于用户指针的以下内容:

每个窗口都有一个用户指针,可以使用glfwSetWindowUserPointer设置并使用glfwGetWindowUserPointer获取。这可以用于您需要的任何目的,并且在窗口的整个生命周期内不会被GLFW修改。

现在我想知道可以使用它的目的是什么?

glfw
1个回答
0
投票

我不会赞成这个答案,因为这不是我的答案,而是GLFW forum上其他人的回答。

UserData字段是C API中相当常见的范例,它允许用户从回调中访问上下文数据,而无需使所有内容全局化。实质上,它允许您将与程序相关的任意数据与glfw窗口相关联。

例如,如果您尝试在遵循面向对象设计的程序中使用glfw,则可以使用此指针存储处理特定窗口的实例的地址,并转发回调(必须是静态函数) ,因为API的工作方式)到适当的成员函数。

© www.soinside.com 2019 - 2024. All rights reserved.