В классе запускается метод в отдельном потоке, который должен позаботится о освобождении ресурсов, но не могу указатель на сам поток освободить
Класс выглядет так
class Listener{
private :
std::thread th; // указатель на поток, не могу его удалить с кучи
char *str; // удалятся
public:
Listener(char *_str,int len){
str=new char[len];
strncpy(str,_str,len);
th=new std::thread(run,this); // запускаю выполнение
}
static void run(Listener *_this){
/* body
*/
delete [] _this->str; // удаляю строку
// delete _this->th; // ОШИБКА критическая, если добавить
delete _this; // вызываю деконструктор и удаляю this : Listner
}
};
void main(){
for(;;){
Listener *l=new Listener("12345678912345");
}
}