可能需要引用不同变量的局部静态常量变量
Local static const variables that may need to refer to different variables
我有一个函数,它有一个名为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;
}
这似乎很简单。
相关文章:
- 使用的未初始化局部变量'Quick'
- 修复未初始化的局部变量错误
- 局部变量保留函数中的值
- 为什么 'main' 函数中的局部 int 变量会自动初始化?
- 如何使用 C++ 中的继承函数访问派生类中的局部变量
- 将引用分配给局部变量,如果局部变量超出范围,它会超出范围吗?
- Gnuplot_i.hpp C++接口绘制局部变量而不是文件
- 如何在函数外部访问函数中局部变量的值?
- 赋予全局变量而不是局部变量优先级的函数 - (异常行为)
- C++中静态方法的局部变量范围
- 未初始化的局部变量错误甚至认为我初始化了它(C++)
- 离开范围后如何保护局部变量的值?
- 局部变量名称冲突
- C++ lambda:如何'freeze'局部变量的值?
- 我应该使我的局部变量常量还是可移动的
- 获取具有静态局部变量的绑定/推断捕获 lambda 的函数指针
- 全局和局部变量初始化与 constexpr 的差异背后的基本原理
- 返回对局部变量 - C++ 的引用
- 函数局部静态变量:从性能角度来看的优点/缺点
- 关于读取有效 c++ 第 4 项(将非局部静态变量替换为局部静态变量)的问题