C ++中的私有静态意味着啥[关闭]

Posted

技术标签:

【中文标题】C ++中的私有静态意味着啥[关闭]【英文标题】:What does private static mean in C++ [closed]C ++中的私有静态意味着什么[关闭] 【发布时间】:2015-07-31 23:00:54 【问题描述】:

在 c++ 中,类成员为 private static 意味着什么。我什么时候应该使用private static 变量?

【问题讨论】:

您是指同时是privatestatic 的成员吗? private 指访问,static 指类存储。它们是正交的。 您知道这个名为“google.com”的令人惊叹的网站吗?您可以使用它来查找各种信息,例如您要查询的信息? 我听说过这个我可以提问的网站,但是巨魔……该死的巨魔。 @user3199819 “我听说过这个可以提问的网站,但是巨魔..” 这不是因为 巨魔。在下次在这里提问之前,您应该仔细阅读How do I ask a good question?。实际上,除了你之外,没有人拖钓 【参考方案1】:

标识符private 限制对类方法和类朋友的访问。

static 标识符表示只有 1 个变量实例要在所有子项之间共享。

所以,private static 表示一个数据成员,无论有多少实例,都只有一个实例,并且只有类方法和类朋友可以访问它。

【讨论】:

【参考方案2】:

“类成员在 c++ 中成为 private static 意味着什么。”

假设你有一些像

这样的声明
class A 
private:
    static const size_t MAX_BUFFER_SIZE = 2048;
;

这意味着您有一个MAX_BUFFER_SIZE 的static storage duration,它不能被任何函数访问,而是类A 的成员。

“我什么时候应该使用private static 变量?”

如果您不希望客户端可以访问它们,而是希望它们成为依赖于实现的细节,那么只有类的内部实现才能访问它们。

【讨论】:

【参考方案3】:

你可以分解属性:

private 只有类和朋友类可以访问该变量

static 变量只有一个实例,类的所有实例都可以访问

【讨论】:

以上是关于C ++中的私有静态意味着啥[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C中的“静态”是啥意思?` [重复]

c++中关于私有静态变量的问题

C ++中的静态构造函数?我需要初始化私有静态对象

c语言中的静态存储变量是存储在哪里的,一般啥时候用

静态成员存储在内存中的啥位置? C#.Net中的堆栈/堆[重复]

静态static怎么理解,我只知道静态方法是不用实例化对象,可以直接用对象.方法调用,还有静态啥东东