c++ - 如何销毁 OOP 中的静态数据成员?

标签 c++ oop

如果我在我的代码中像下面这样的类中使用静态数据成员,并声明该类的多个一个对象,那么哪个对象将销毁 静态数据成员 ma​​rtians?

class martianGame
{
    static int martians;
  public:
    martianGame();
    static int getMartian();
};
martianGame::martians = 50;
int main()
{
   martianGame game[10];
   return 0;
}

最佳答案

how to destroy static data member in OOP?

静态数据成员,就像所有其他具有静态存储持续时间的对象一样,在程序结束时被销毁。因此,要销毁静态数据成员,您需要从 main 返回或调用 std::exit

which object will destroy the static data member martians?

没有对象。即使没有该类的实例,静态成员也会被构造和销毁。

关于c++ - 如何销毁 OOP 中的静态数据成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48480106/

相关文章:

c++ - C++03 中某些值初始化的情况不调用构造函数?

c++ - 在 C++ 中编写复制构造函数时出错

c++ - 迭代器如何映射/知道它们的当前位置或元素

c++ - 如何在 Linux 上以编程方式添加接口(interface)?

java - 在 Java 中实现接口(interface)时降低可见性

java - Java 8 是否提供了访问者模式的替代方案?

c++ - 我在 unix 中编译代码时遇到编译器错误

oop - 为什么我们在面向对象的分析和设计中使用用例图,即使用例不被视为面向对象?

php - 使用更少代码的流畅界面

javascript - JS中各种Object取值方法的区别