В этом коде, я присваиваю указателю current
адрес в памяти, на который указывает указатель, который возвращает функция listen_port
, и передаю current
в функцию, где он в последствии используется. Проблема в том, что когда цикл делает следующую итерацию у объекта, на который указывает current
не вызывается деструктор. Как можно исправить эту проблему ?
for(;;)
{
client *current = client::listen_port(cone.get_socket());
httpHandler worker(current);
worker.handle();
}
for(;;)
{
client *current = client::listen_port(cone.get_socket());
httpHandler worker(current);
worker.handle();
delete current;
}
Но это работает, если client::listen_port
создает client*
через new
, и если worker.handle();
не вызывает другой поток, в который оттдает указатель, и если сам httpHandler
в своем деструкторе не освобождает указатель.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Задание: С клавиатуры вводится строка символов состоящая из нескольких слов, необходимо вычислить и вывести на экран количество символов...
Нужно пройтись по файлу 2 раза, чтоб узнать его размер, а потом прочитатьПроблема в том, что seekg(0) не сбрасывает указатель на элемент файла...
Как возможно реализовать разделение строки без использования стандартных библиотек C++?
Формирую задачу, которая будет выполняться в нескольких потоках с помощью stl следующим образом: