什么时候用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; }