假设您有一个类 (c++) 或模块(单个 c 文件)。然后在你的一个函数中,你想存储一个变量的副本并保存它的值直到下次调用函数时,最好有一个全局的(在 c++ 中可能是私有的,而不是在 c 中保留它在模块范围内)还是创建一个局部静态变量?
例如:
void some_func_that_does_not_do_anything_useful(int arbVal)
{
static int lastArbVal = 0;
if (arbVal > lastArbVal)
{
lastArbVal = arbVal;
}
}
我制作静态的原因是尽可能限制其范围,但是我读到的某些内容建议您应该为此使用全局变量,所以现在我很困惑。
什么是最好的(如果有的话)?,优点/缺点?