在查看GLFW参考时,我遇到了glfwGetWindowUserPointer
函数(和glfwSetWindowUserPointer
函数)。在参考中,它对用户指针说了以下内容:
每个窗口都有一个用户指针,可以使用glfwSetWindowUserPointer进行设置,并可以使用glfwGetWindowUserPointer进行获取。此功能可用于您需要的任何目的,并且不会在窗口的整个使用期内被GLFW修改。
现在我想知道可以将其用于什么目的?
答案 0 :(得分:0)
我不会为这个答案而功劳,因为这不是我的答案,而是GLFW forum上其他人的答案。
UserData字段是C API中相当普遍的范例,它使用户可以从回调内部访问上下文数据,而无需使所有内容全局化。本质上,它使您可以将与程序相关的任意数据与glfw窗口相关联。
例如,如果您尝试在遵循面向对象设计的程序中使用glfw,则可以使用此指针存储处理特定窗口的实例的地址,并转发回调(必须是静态函数,因为API的工作方式)相应的成员函数。