Ian*_*kel 6 glfw
在查看 GLFW 参考资料时,我发现了这个glfwGetWindowUserPointer函数(以及这个glfwSetWindowUserPointer函数)。在参考文献中,它对用户指针做了以下说明:
glfwGetWindowUserPointer
glfwSetWindowUserPointer
每个窗口都有一个用户指针,可以使用 glfwSetWindowUserPointer 设置并使用 glfwGetWindowUserPointer 获取。这可以用于您需要的任何目的,并且在窗口的整个生命周期内不会被 GLFW 修改。
现在我想知道人们可以用它来做什么目的?
Ian*_*kel 12
我不会将此答案归功于我,因为这不是我的答案,而是GLFW 论坛上其他人的答案。
UserData 字段是 C API 中相当常见的范例,它允许用户从回调中访问上下文数据,而无需将所有内容设为全局。本质上,它可以让您将与您的程序相关的任意数据片段与 glfw 窗口关联起来。 例如,如果您尝试在遵循面向对象设计的程序中使用 glfw,则可以使用此指针来存储正在处理特定窗口的实例的地址,并转发回调(必须是静态函数) ,因为 API 的工作方式)到适当的成员函数。
UserData 字段是 C API 中相当常见的范例,它允许用户从回调中访问上下文数据,而无需将所有内容设为全局。本质上,它可以让您将与您的程序相关的任意数据片段与 glfw 窗口关联起来。
例如,如果您尝试在遵循面向对象设计的程序中使用 glfw,则可以使用此指针来存储正在处理特定窗口的实例的地址,并转发回调(必须是静态函数) ,因为 API 的工作方式)到适当的成员函数。
归档时间:
7 年 前
查看次数:
4671 次
最近记录: