什么时候用C ++销毁静态对象?

静态对象用关键字static声明。它们仅初始化一次并存储在静态存储区中。静态对象仅在程序终止时才被销毁,即它们一直存在直到程序终止。

给出了一个演示C ++中静态对象的程序,如下所示。

示例

#include <iostream>
using namespace std;
class Base {
   public :
   int func() {
      int a = 20;
      cout << "The value of a : " << a;
   }
};
int main() {
   static Base b;
   b.func();
   return 0;
}

输出结果

上面程序的输出如下。

The value of a : 20

现在让我们了解上面的程序。

func()Base类中的函数声明一个int变量a,然后显示a的值。显示此代码段如下。

class Base {
   public :
   int func() {
      int a = 20;
      cout << "The value of a : " << a;
   }
};

在函数中main(),创建了Base类的静态对象b。然后调用函数func()。由于对象b是静态的,因此仅在程序终止时销毁它。显示此代码段如下。

int main() {
   static Base b;
   b.func();
   return 0;
}