阅读量:121
在C++中,静态变量的初始化可以通过以下几种方式来实现:
- 在类的定义外部进行初始化:
class MyClass {
public:
static int myStaticVar;
};
int MyClass::myStaticVar = 10; // 静态变量初始化
int main() {
// 访问静态变量
cout << MyClass class="hljs-comment">// 输出:10
return 0;
}
- 在类的定义内部进行初始化:
class MyClass {
public:
static int myStaticVar;
};
int MyClass::myStaticVar = 10; // 静态变量初始化
int main() {
// 访问静态变量
cout << MyClass class="hljs-comment">// 输出:10
return 0;
}
- 使用静态成员函数进行初始化:
class MyClass {
public:
static int myStaticVar;
static int getStaticVar() {
return myStaticVar;
}
};
int MyClass::myStaticVar = MyClass::getStaticVar(); // 静态变量初始化
int main() {
// 访问静态变量
cout << MyClass class="hljs-comment">// 输出:0
return 0;
}
需要注意的是,静态变量只能在类的定义外部进行初始化,不能在类的构造函数或其他非静态成员函数中初始化。