我有一个函数,它有一个名为static const int initial_var = some_var
的变量,因此在后续运行函数时,initial_var
保证不会改变。然而,问题是可能会为不同的some_var
调用该函数,并且因为initial_var
用于计算,这可能会搞砸了。
func()
适用于所有名为some_var
的差异变量。他们的状态需要被记住,所以我使用一个静态const变量,但这只会记住ONE变量的状态。
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
}
解决这个问题的优雅方法是什么?
答案 0 :(得分:0)
你说你需要“他们的状态需要被记住”,所以你可以把它们放在一个数组中。
int array[10]; // 10 elements.
int count = 0;
void storeVariable(int temp)
{
array[count] = temp;
count++;
// Reset if full.
if(count >= 10)
count = 0;
}
这似乎相当简单。