使用和过度使用静态变量

Use and over use of static variables

是否建议在我喜欢的地方使用静态变量?

因为我现在更倾向于使用它。使用静态变量是一种不好的做法,还是会很快填满内存?

目前正在用c++做小游戏。因此,为了保持一些状态,如跳跃位置和动画时间,我必须在函数中使用静态变量,并且该函数将在循环中多次调用。所以静态变量将完成这项工作。有没有面向对象的模式来解决这个问题?

void jumpit(){
    static int jump ;
    if( !jump && pressed)
          jump=1;
    if (jump)
         obj.y++;
} 

在循环中我会调用它来完成工作..我们有更好的主意来做同样的事吗??

您的 "obj" 可以跟踪自己的状态。

独立的 jumpit 功能可以实现为:

void jumpit(Object& obj, bool pressed)
{
        if( !obj.jump && pressed)
              obj.jump = true;
        if (obj.jump)
             obj.y++;
}

或者将 jumpit 作为 "Object"

的一部分实施可能会更好

在函数中保持状态几乎不是一个好主意。