Форум программистов, компьютерный форум CyberForum.ru

memory leak или "ОС подчистит" (Знакомство с Modern C++ Design\Loki Александреску приветствуется) - C++

Восстановить пароль Регистрация
 
Seagull
1 / 1 / 0
Регистрация: 28.05.2009
Сообщений: 11
08.03.2012, 06:39     memory leak или "ОС подчистит" (Знакомство с Modern C++ Design\Loki Александреску приветствуется) #1
Доброго времени суток, уважаемые.

Возможно мой вопрос покажется вам несколько странным, однако мне бы хотелось внести у себя в голове некую ясность.

Копаю синглтоны у Александреску. А заодно смотрю код либы Loki
http://loki-lib.cvs.sourceforge.net/....h?view=markup
там на 516-той строчке объявлена интересная стратегия контроля продолжительности жизни, NoDestroy.
Я могу быть не прав, но она же порождает утечку памяти, связанную с не удалением объекта. То есть система то конечно подчистит, но... А если там какие-то внешние ресурсы помимо памяти используются? незакрытые файлы, СУБД, ещё что нибудь?

Это сознательно игнорируется, дабы гарантировать, что синглтон с такой стратегий умрёт последним (даже не так, он будет зачищен тогда, когда приложение уже превратится в "неактивные" участки памяти, без какой либо логики и функционала, которые ОС можно просто пометить как свободные)?

Кхм. Последнюю мысль выразил малость криво, но надеюсь суть донёс.

Заранее благодарю за внимание\потраченное время.

P.S. за актуальные ссылки буду очень благодарен. Ибо несколько непонятно, как гуглить подобное.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 06:39     memory leak или "ОС подчистит" (Знакомство с Modern C++ Design\Loki Александреску приветствуется)
Посмотрите здесь:

C++ Дано трехзначное число. Проверить истинность высказывания: "Цыфры даного числа образуют возрастающую или убывающую последовательность"."
"И" ведет себя как "ИЛИ" C++
C++ Обчисление введенной строки любого формата(пример:"(2+3)/4*2"или"2+3"или ...)
"Точность вычислений" или "Элементарная погрешность" C++
C++ Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его
C++ Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer"
Что применить "\n" или "endl"? C++
"Чудеса типа float" или "Куда девалась информация?" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
08.03.2012, 09:37     memory leak или "ОС подчистит" (Знакомство с Modern C++ Design\Loki Александреску приветствуется) #2
Очевидно, что эта стратегия не должна применяться для объектов, использующих внешние ресурсы. Смысл стратегий как раз в том, чтобы выбирать наилучшую, в зависимости от свойств объекта.
Yandex
Объявления
08.03.2012, 09:37     memory leak или "ОС подчистит" (Знакомство с Modern C++ Design\Loki Александреску приветствуется)
Ответ Создать тему
Опции темы

Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru