在C++中达到静态变量

Reaching static variables in C++

本文关键字:静态 变量 C++      更新时间:2023-10-16

如果我在classA:中定义一个静态变量

static int m_val;

并像一样初始化

int classA::m_val = 0;

为了在ClassA(或任何其他类)中访问它,我可以直接使用m_val吗?还是应该像ClassA::m_val一样使用它。

ClassA内部,只需写入m_val。在ClassAClassA::m_val之外。

但是,在您的示例中,m_val不是const,因此它(通常)无论如何都应该是私有。在这种情况下,您不会直接从其他类访问它,而是提供一个成员函数来检索副本:

class ClassA
{
private:
    static int m_val;
// ...
public:
    static int GetVal();
};

实施:

int ClassA::m_val = 0;
int ClassA::GetVal()
{
    return m_val;
}