【发布时间】:2016-08-26 15:11:27
【问题描述】:
我目前正在使用glLoadGen来加载OpenGL函数,
有一个选项,比如将所有函数指针放在namespace gl
这样我就可以像gl::CreateShader( ... )一样使用它们了
该功能有什么缺点??
它不会用 gl** 函数或宏污染全局命名空间; 但恐怕有一些潜在的缺点......
【问题讨论】:
-
This question 是相关的。
-
我不明白你为什么要使用这个选项。您每次都需要输入额外的
::,您将无法直接从其他来源复制粘贴 GL 代码。你说这个选项很好,因为它不会污染全局命名空间,但如果所有名称都有适当的前缀,污染不是问题。 -
@CoryKramer 相关,但不密切,因为这不是 glLoadGen 所做的(取决于选项)。
-
@HolyBlackCat: "你不能直接从其他来源复制粘贴 GL 代码" 这听起来是一个很好的理由使用它。复制粘贴编码是坏事。
-
@NicolBolas 你说得对,复制粘贴编码很糟糕。但这不是故意使用非常规函数名称的正当理由。此外,有时复制粘贴可能很有用:OP 可能想要使用 GL 函数调用复制和运行代码只是为了学习它。或者他可能只需要从 GL 文档中复制很长的函数名称。当然,添加
::不会花费太多时间,但对我来说,这个选项似乎仍然是不必要的过度复杂化。