C++ 正向声明opengl类型

C++ 正向声明opengl类型,c++,c++11,opengl,C++,C++11,Opengl,我想在类Foo的头中向前声明GLuint,但是GLuint的实现会根据操作系统的不同而变化。是否有一种可移植的方法可以向前声明opengl提供的GL类型,而不必包含那个巨大的头文件?除非您想使用模板,否则唯一的选择就是包含那个头文件 您也可以使用这些typedef创建自己的标题,但您必须自己维护它。这样的typedef在将来不太可能更改。除非您想使用模板,否则唯一的选择是包含该头文件 您也可以使用这些typedef创建自己的标题,但您必须自己维护它。这样的typedef将来不大可能改变 是否有一

我想在类Foo的头中向前声明GLuint,但是GLuint的实现会根据操作系统的不同而变化。是否有一种可移植的方法可以向前声明opengl提供的GL类型,而不必包含那个巨大的头文件?

除非您想使用模板,否则唯一的选择就是包含那个头文件


您也可以使用这些typedef创建自己的标题,但您必须自己维护它。这样的typedef在将来不太可能更改。

除非您想使用模板,否则唯一的选择是包含该头文件

您也可以使用这些typedef创建自己的标题,但您必须自己维护它。这样的typedef将来不大可能改变

是否有一种可移植的方法来转发声明opengl提供的GL类型,而不必包含那个巨大的头文件

OpenGL是一个纯C头文件(它有几个<代码> > IFIFF < /Cord>-s来处理C++链接,但就是这样。作为一个纯C头,意味着它的解析速度非常快。这不像C++,其中每个头文件包含了一个潜在的重大负担。在一个大型项目中,您可能会将

#include
添加到每个源文件(
.hh
.cc
),这样只会增加几百毫秒的编译时间

是否有一种可移植的方法来转发声明opengl提供的GL类型,而不必包含那个巨大的头文件

OpenGL是一个纯C头文件(它有几个<代码> > IFIFF < /Cord>-s来处理C++链接,但就是这样。作为一个纯C头,意味着它的解析速度非常快。这不像C++,其中每个头文件包含了一个潜在的重大负担。在一个大型项目中,您可能会将

#include
添加到每个源文件(
.hh
.cc
),这样只会增加几百毫秒的编译时间