Основным преимуществом является демонстрация того, что в вашем коде нет утечек или, в любом случае, нет утечек определенного типа.Как говорит Немо, это облегчает повторное использование кода в будущем.
Однако будьте осторожны, даже если вы явно освободите все при завершении работы, это не доказывает, что ваше приложение не использует медленное использование памяти и, следовательно,ведет себя во всех практических целях точно так же, как если бы он имел утечкиНапример, если в вашем приложении есть какой-то кэш без ограничения размера, он может неограниченно увеличиваться при обычном использовании приложения, но все они будут аккуратно освобождены вашим кодом завершения работы.Это так же плохо, как и «настоящая» утечка.
Основной недостаток относится к крупным приложениям: процесс перетекания всей вашей памяти, возможно, вытягивание нескольких десятков или сотен МБ из файла подкачки в оперативную память.может быть довольно медленным.Это также будет замедлять работу других приложений, выталкиваемых из ОЗУ, чтобы освободить место для вашего умирающего приложения.
По этой причине, если ваше приложение когда-либо раздражающе медленно работает во время завершения работы, вы можете рассмотреть возможность выполнения всех этих вещей в отладке.только сборки и / или использование распределителя пула, так что вы можете отбрасывать большие структуры данных, состоящие из множества маленьких узлов, без необходимости посещения каждого узла.
В этом конкретном случае: если ваша конфигурация не имеет тысячи отдельных элементовпроанализированное содержимое вашего .ini-файла, вероятно, представляет собой небольшую структуру из нескольких небольших выделений, поэтому само по себе оно вряд ли будет медленным.