可能需要引用不同变量的局部静态常量变量

Local static const variables that may need to refer to different variables

本文关键字:变量 局部 静态 常量 引用      更新时间:2023-10-16

我有一个函数,它有一个名为static const int initial_var = some_var的变量,因此在后续运行该函数时,initial_var保证不会更改。然而,问题是,该函数可能会针对不同的some_var调用,并且由于在计算中使用了initial_var,这可能会使事情变得一团糟。

func()用于对不同的变量进行操作,这些变量都命名为some_var。它们的状态需要记住,所以我使用了一个静态常量变量,但这只会记住一个变量的状态。

void func()
{
   static const int initial_var = some_var;
   some_var = initial_var; // This is the part where things may screw up if some_var
                           // is a different variable
}

有什么优雅的方法可以解决这个问题?

你说你需要"他们的状态需要被记住",这样你就可以把他们放在一个数组中。

int array[10]; // 10 elements.
int count = 0;
void storeVariable(int temp)
{
    array[count] = temp;
    count++;
    // Reset if full.
    if(count >= 10)
       count = 0; 
}

这似乎很简单。