在C++中,静态变量是在程序运行期间只分配一次内存的变量。它们在程序的整个生命周期内存在,直到程序结束。静态变量的内存分配发生在程序启动时,而不是在函数调用时。这意味着静态变量在程序的整个生命周期内只占用一次内存空间。
静态变量内存分配的步骤如下:
class MyClass {
public:
static int myStaticVariable;
};
int MyClass::myStaticVariable = 0;
int main() {
MyClass obj1;
MyClass obj2;
obj1.myStaticVariable = 10;
int value = obj2.myStaticVariable; // value will be 10, since the static variable is shared between all objects of the class
return 0;
}
需要注意的是,静态变量在程序的生命周期内只分配一次内存,因此它们必须在类外部定义并初始化。此外,静态变量在程序的所有对象之间共享,因此对一个对象的静态变量的修改会影响到其他对象。