будет использовать довольно сложный динамически
выделенные структуры данных. В
в частности, это не поддается RAII
стиль программирования.
Я почти уверен, что это оправдание для ленивого программирования. Почему вы не можете использовать RAII? Это потому, что вы не хотите отслеживать свои распределения, нет указателя на них, который вы сохраняете? Если да, как вы собираетесь использовать выделенную память - на нее всегда есть указатель, содержащий некоторые данные.
Это потому, что вы не знаете, когда это должно быть выпущено? Оставьте память в объектах RAII, на каждый из которых ссылается что-то, и они все освободятся друг от друга, когда содержащийся объект освобождается - это особенно важно, если вы хотите запускать его как сервер один день, каждую итерацию Сервер эффективно запускает «главный» объект, который содержит все остальные, так что вы можете просто удалить его, и вся память исчезнет. Это также помогает предотвратить повторную установку ГХ.
Это потому, что вся ваша память выделена и постоянно используется, и освобождается только в конце? Если это так, см. Выше.
Если вы действительно, действительно не можете придумать дизайн, в котором вы не можете утечь память, по крайней мере, прилично использовать частную кучу. Уничтожьте эту кучу, прежде чем уйти, и у вас уже будет лучший дизайн, если немного «хакерский».
В некоторых случаях утечки памяти исправны - статические переменные, глобально инициализированные данные и тому подобное. Они, как правило, не очень большие.