关于初始化 含指针的结构体类型的 静态成员变量
在我的类里面有一个静态成员变量,是一个下面这样的结构体
typedefstruct
{
GLubyte*imageData;
GLuintbpp;
GLuintwidth;
GLuintheight;
} TextureImage;
TextureImage TGALoader::tmpTexture;
TextureImage TGALoader::tmpTexture = {NULL, 0, 0, 0};
struct TextureImage
//声明匿名struct并且进行typedef 是C的风格,在C++中直接命名更合理
{
TextureImage(){}
//缺省构造函数,什么都不做。写上它是因为编译器不会自动生成它了。
TextureImage(GLubyte * a_data, GLuint a_bpp, GLuint a_width, GLuint a_height)
: imageData(a_data)
, bpp(a_bpp)
, width(a_width)
, height(a_height)
{}
//带初始化的构造函数,可以用它来初始化。
//副作用就是会导致编译器不自动生成缺省构造函数。
GLubyte *imageData;
GLuint bpp;
GLuint width;
GLuint height;
} ;
TextureImage TGALoader::tmpTexture(0,0,0,0);