gpt4 book ai didi

c++ - 私有(private)静态类成员

转载 作者:太空狗 更新时间:2023-10-29 23:36:00 26 4
gpt4 key购买 nike

当我们声明一个成员变量为静态时,它在类的所有实例之间共享。我听说您应该考虑属于类本身的变量,而不是任何实例。这让我们可以在不实例化类的任何对象的情况下初始化变量,这是有道理的。

class Something
{
public:
static int s_nValue;
};

int Something::s_nValue = 1;

但为什么允许我们初始化私有(private)静态成员?

class Something
{
private:
static int s_nValue;
};

int Something::s_nValue = 1;

当我们谈论静态成员时,private 还意味着什么吗?

最佳答案

是的,它确实意味着什么。考虑以下示例,它会引发编译器错误,因为该成员是 private。能够初始化私有(private)变量与能够从任何上下文更改它是不同的。

class Something
{
private:
static int s_nValue;
};

int Something::s_nValue = 1;

int main(){
Something::s_nValue = 2; // Compiler error here.
}

关于c++ - 私有(private)静态类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com