Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.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++ - Fatal编程技术网

C++ 为什么我们可以在同一个类中声明一个类的静态对象?

C++ 为什么我们可以在同一个类中声明一个类的静态对象?,c++,C++,为什么我们可以这样做,而没有static这个词我们就不能这样做?Astatic成员只有一个值;它本质上是一个作用于类声明的全局变量 非静态成员是出现在每个类实例中的值。 类直接包含自身是没有意义的,因为这样会消耗无限量的内存 您可能需要一个指针。一个静态成员只有一个值;它本质上是一个作用于类声明的全局变量 非静态成员是出现在每个类实例中的值。 类直接包含自身是没有意义的,因为这样会消耗无限量的内存 你可能需要一个指针。你认为它会做什么?我想如果a是一个模板类,假设没有无休止的递归,甚至可以不用s

为什么我们可以这样做,而没有static这个词我们就不能这样做?

A
static
成员只有一个值;它本质上是一个作用于类声明的全局变量

静态成员是出现在每个类实例中的值。
类直接包含自身是没有意义的,因为这样会消耗无限量的内存


您可能需要一个指针。

一个
静态
成员只有一个值;它本质上是一个作用于类声明的全局变量

静态成员是出现在每个类实例中的值。
类直接包含自身是没有意义的,因为这样会消耗无限量的内存


你可能需要一个指针。

你认为它会做什么?我想如果a是一个模板类,假设没有无休止的递归,甚至可以不用
static
关键字来做这样的事情。类似于
模板类A{A;},并专门针对零。但是不要问我为什么要这样做,或者如果有任何合理的用法,即使这是可能的…@Damon:A与A的类型完全不同。你的示例可以写得像'class A{B;};'当然,C++中也是可能的。你认为它会做什么?我想如果A是模板类,即使没有无限递归,也可以不使用<代码> static < /Cord>关键字。类似于
模板类A{A;},并专门针对零。但是不要问我为什么要这样做,或者如果有任何合理的用法,即使这是可能的…@Damon:A与A的类型完全不同。你的示例可以写得像'class A{B;};'当然,C++也是可能的。
class A
{
   static const A a;
}