Рассмотрим этот класс в демонстрационных целях:
class test{
private:
int y;
HANDLE handle;
static int x;
public:
test()
int add();
static int sub();
}
test::test() {
[....]
sub = 1;
handle = (HANDLE)_beginthreadex(NULL,0,&test::sub,NULL,0,0);
}
test::sub() {
[....]
_endthreadex(0)
}
Я немного не уверен насчет статических методов / переменных и у меня теперь есть несколько вопросов;
1) Если я создаю классэкземпляр test, а затем вызывать delete test, очищается ли статическая переменная тоже?Если нет, нужно ли очищать все статические переменные вручную в деструкторе с помощью delete () (или это free ())?
2) когда поток, выполняющий sub (), завершается с помощью _endthreadex, нужно ли выполнять какую-либо ручную очистку статическим методом?Как видите, переменная handle относится к потоку.
Заранее спасибо