Библиотека C/C++ разработчика | cpp, boost, qt

@cppproglib
👻 std::atexit — зачем регистрировать функции на выход? Когда твоя программа завершается, нужно освободить ресурсы, закрыть логи, сохранить состояние. std::atexit позволяет зарегистрировать функции, которые вызовутся автоматически при нормальном завершении программы. #include <cstdlib> #include <iostream> void cleanup() { std::cout << "Cleaning up resources...\n"; } int main() { std::atexit(cleanup); std::cout << "Program running...\n"; return 0; // cleanup() вызовется автоматически } Ключевой момент: функции вызываются в порядке, обратном регистрации (LIFO). ❗️ Важно: std::atexit работает только при нормальном завершении (return из main или std::exit). При std::abort или неперехваченных исключениях функции не вызовутся. ❗️Best practice: используй RAII и деструкторы вместо atexit, когда это возможно. atexit — для глобального состояния и C-совместимости. ✏️ Используешь ли ты atexit в своих проектах? @cppproglib #под_капотом
Если у вас установлено приложение,
вы можете сразу перейти в канал