关于类:如何在C ++类中设置静态变量?

How do I set static variables in C++ classes?

本问题已经有最佳答案,请猛点这里访问。

我有一个这样的班级:

1
2
3
4
5
6
class example {
public:
    static void setStaticVar() { example::var = 1; };
private:
    static int var;
};

但它给了我链接错误,我不知道为什么。我想在每个实例的变量中存储一些相同的数据。这就是为什么我要使用静态变量而不是实例变量(使用实例变量,我将在类的每个实例中存储相同的数据,这是浪费内存)。

我该怎么做?


必须在类定义之外对其进行初始化。

试试这个。

1
2
3
4
class example { ... };

// initialize it to avoid linker errors
int example::var = 1;


您需要初始化变量一次。在一个.cpp中,除任何函数外,必须初始化变量:

1
int example::var = 0;


在源文件中

int example::var = 0;