我有一个用 C++ 编写的大型模拟。模拟的主要工作单元是代表神经元的类。为了进行计算,神经元类的每个实例都需要访问温度。每个模拟使用数以万计的神经元类实例,并且每个神经元的温度值相同。出于这个原因,我宁愿不将其存储为常规成员数据,因此神经元类的每个实例不必占用存储其自己的拷贝的内存。理想情况下,我会将其存储为静态成员变量(或者,作为最后的手段,全局变量)。但是,我需要在运行时确定温度作为用户输入。有没有简单的方法让neruon类以静态成员数据的方式访问这个变量?
最佳答案
仅仅因为变量是静态的,并不意味着它也需要是 const。请参阅下面的代码。
#include <cassert>
struct X {
int member;
static int static_var;
};
int X::static_var;
int main() {
X x;
x.member = 1;
x.static_var = 2;
X y;
y.member = 3;
y.static_var = 4;
X::static_var = 5;
assert(x.static_var == y.static_var);
assert(&x.static_var == &y.static_var);
}
关于c++ - 在 C++ 中静态地将用户输入获取到类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9901129/