Когда у меня есть класс, содержащий статические вещи, как я могу наилучшим образом освободить память в конце приложения?
Foo.h
class GLUtesselator;
class Foo
{
private:
static GLUtesselator *tess;
public:
Foo();
virtual ~Foo();
}
Foo.cpp
#include "Foo.h"
#include <GL/glu.h>
GLUtesselator *Foo::tess = gluNewTess(); // System call
Foo::Foo() {}
Foo::~Foo()
{
// And of course I don't want to destruct it here,
// because I'm going to use the tesselator in other instances of Foo
// Otherwise:
// gluDeleteTess(tess);
}
Существуют ли лучшие альтернативы сделать метод, чтобы удалить статические вещи и вызвать его, когда приложение завершается?
Или я могу сказать: «Ой, что угодно, приложение закрывается. ОС освободит память ...»?
Спасибо