c++ - 在 C++ 中静态地将用户输入获取到类中

标签 c++ oop

我有一个用 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/

相关文章:

c++ - 如何处理 9 维矩阵的索引

c++ - 概念难度 c++ Deck of Cards

c++ - 如何删除对象之间的变量共享?

c++ - WIn64 内存映射文件和锁定页面

C++ 可变参数模板类型过滤转换

c++ - C++ 中的函数和函数指针

php - 在 PHP 中的类初始化时传递可选配置变量

Java:无法访问对象的元素

Javascript变量范围和继承

C++ 函数指针到类模板静态方法的映射