Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
私有静态在C++; < C++ > C++中的类成员>代码>私有静态< /代码>意味着什么?我什么时候应该使用私有静态变量_C++_Class_Oop_Design Patterns - Fatal编程技术网

私有静态在C++; < C++ > C++中的类成员>代码>私有静态< /代码>意味着什么?我什么时候应该使用私有静态变量

私有静态在C++; < C++ > C++中的类成员>代码>私有静态< /代码>意味着什么?我什么时候应该使用私有静态变量,c++,class,oop,design-patterns,C++,Class,Oop,Design Patterns,标识符private限制对类方法和类朋友的访问 static标识符表示只有一个变量实例要在所有子级之间共享 因此,private static表示只有一个实例的数据成员,而不管实例的数量如何,并且只有类方法和类朋友可以访问它 “C++中的类成员是什么?”代码>私有静态< /代码>。 假设你有一些声明,比如 class A { private: static const size_t MAX_BUFFER_SIZE = 2048; }; 这意味着您有一个forMAX\u BUFFER\u

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

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

因此,
private static
表示只有一个实例的数据成员,而不管实例的数量如何,并且只有类方法和类朋友可以访问它

“C++中的类成员是什么?”代码>私有静态< /代码>。 假设你有一些声明,比如

class A {
private:
    static const size_t MAX_BUFFER_SIZE = 2048;
};
这意味着您有一个for
MAX\u BUFFER\u SIZE
,任何函数都无法访问它,但是类
a
的成员可以访问它

“我什么时候应该使用
私有静态
变量?”


如果您不希望客户端可以访问这些属性,而是希望它们是依赖于实现的详细信息,则只能对类的内部实现进行访问。

您可以分解这些属性:

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


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

您是指既属于
private
又属于
static
的成员吗?
private
指对类存储的访问。它们是正交的。你知道这个叫做“google.com”的令人惊叹的网站吗?你可以用它来查找各种信息,比如你正在询问的信息?我听说过这个网站,我可以问问题,但是巨魔。。。该死的巨魔。@user3199819“我听说过这个可以提问的网站,但是巨魔……”这不是因为巨魔。下次在这里提问之前,你应该仔细阅读。实际上,除了你之外,似乎没有人在玩。