21xrx.com
2024-12-23 00:18:01 Monday
登录
文章检索 我的文章 写文章
C++中的类静态成员变量何时初始化?
2023-06-23 15:15:27 深夜i     --     --
C++ 静态成员变量 初始化

在C++中,类静态成员变量是属于该类的全局变量,它在所有该类的实例中都共享。类静态成员变量通常用于存储与该类相关的常量值,例如该类的最大实例个数等。

那么类静态成员变量何时被初始化呢?答案是在第一个对该类的静态成员进行引用时。换句话说,在第一次使用到该类静态成员变量之前,编译器会自动将其初始化为默认值(0或空指针)。

需要注意的是,在多个文件中使用同一个类静态成员变量时,应该用extern关键字进行声明,以避免编译器将它们视为不同的变量。

例如,下面是一个使用类静态成员变量的示例类:


class MyClass

public:

  static int count;

;

int MyClass::count = 0; // 类静态成员变量的初始化

int main() {

  MyClass obj1;

  MyClass obj2;

  MyClass::count++; // 第一次引用类静态成员变量

  std::cout << "Count: " << MyClass::count << std::endl;

  return 0;

}

在上面的示例中,类静态成员变量count在定义时被初始化为0。在使用该变量之前,它不会被分配内存。当我们在函数中第一次引用该变量时,编译器会自动将其初始化为默认值0。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复