Почему деструктор не призван к глобальному объектуC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему деструктор не призван к глобальному объекту

Сообщение Anonymous »

У меня есть глобальный объект, определенный в том же исходном файле, что и main (): < /p>
DSS::TraceControl traceControl{ std::source_location::current().file_name() };
< /code>
, который инициализирует отслеживание моего приложения до начала main (). < /p>
Это работает нормально. DTOR говорит: < /p>
TraceControl::~TraceControl()
{
if (erase)
{
fprintf(stderr, "Erasing %s \n", file.string().c_str());
fs::remove(file);
}
}
< /code>
Если я запускаю программу без активного отладчика (Visual Studio или Windbg), то DTOR не запускается при закрытии приложения. Однако, если я запускаю под отладчиком? /> < /ol>
Спасибо,
David < /p>

Подробнее здесь: https://stackoverflow.com/questions/795 ... bal-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»