C++ Opengl中静态变量的用途是什么?

C++ Opengl中静态变量的用途是什么?,c++,global-variables,local-variables,static-variables,C++,Global Variables,Local Variables,Static Variables,请注意我的代码 #包括 #包括 #包括 #包括 静态GLfloat自旋=0.0;//它是否用作全局变量?? 作废显示(作废) { glClear(GLU颜色缓冲位); glPushMatrix(); GL3F(1.0,1.0,1.0); glRectf(-25.0,-4.0,25.0,4.0); glRectf(-4.0,-25.0,4.0,25.0); GL3F(0.0,0.0,1.0); glutSolidTorus(1.00,6.4,10100); glPopMatrix(); glFlu

请注意我的代码

#包括
#包括
#包括
#包括
静态GLfloat自旋=0.0;//它是否用作全局变量??
作废显示(作废)
{
glClear(GLU颜色缓冲位);
glPushMatrix();
GL3F(1.0,1.0,1.0);
glRectf(-25.0,-4.0,25.0,4.0);
glRectf(-4.0,-25.0,4.0,25.0);
GL3F(0.0,0.0,1.0);
glutSolidTorus(1.00,6.4,10100);
glPopMatrix();
glFlush();
}
void自旋显示右1(void)
{
自旋=-0.60;
再发现();
glRotatef(自旋,0.0,0.0,1.0);
}
注意:我认为静态变量用作全局变量。如果我在任何函数下使用静态变量,那么它将是局部变量

我说得对不对?
请回答我的问题。

在您的情况下
静态GLfloat spin=0.0
是一个全局变量,仅在声明它的文件中“可见”


如果在函数中声明静态变量,则它将是一个局部变量,但它将在函数调用之间保留其值。

解释了文件范围和函数范围的静态变量。在这种情况下,我所知道的变量没有理由是静态的。这只是一个全球论坛。非常感谢您宝贵的回复。
#include<windows.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <math.h>

static GLfloat spin = 0.0;  // Does it use as global variable??


void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();

    glColor3f(1.0, 1.0, 1.0);


    glRectf(-25.0, -4.0, 25.0, 4.0);
    glRectf(-4.0, -25.0, 4.0, 25.0);
    glColor3f(0.0, 0.0, 1.0);
    glutSolidTorus(1.00, 6.4, 10, 100);
    glPopMatrix();

    glFlush();
}


void spinDisplay_right1(void)
{
   spin = -.60;
            glutPostRedisplay();
            glRotatef(spin, 0.0, 0.0, 1.0);
}