C++:堆栈上的未初始化(?)数组(关于OpenGL的示例)

0 c++ arrays opengl stack

在堆栈上创建的数组的内容是什么,但没有放入值?像这样:

int array[4]
cout << array[2];
Run Code Online (Sandbox Code Playgroud)

我问这个是因为我在OpenGL中总是看到生成纹理时,它是这样做的:

GLuint textures[4];
glGenTextures(4, &textures[0]);

glBindTexture(GL_TEXTURE_2D, textures[2]);
Run Code Online (Sandbox Code Playgroud)

这有什么关系?

谢谢.

Ben*_*igt 8

  1. 内容可以是任何东西.通常它是由前一个函数留下的东西,但不保证.

  2. glGenTextures填充其第二个参数,该参数由指针传递.没有使用未初始化的值.就像textures[0] = 0;,它覆盖了存在的垃圾.