Извините за длинное название ~
У меня есть простой распределитель, реализованный поверх пула памяти, чей deallocate()
пустой. Если с этим распределителем используется контейнер STL, а элементы контейнера являются тривиально разрушаемыми, могу ли я вообще избежать вызова деструктора контейнера?
Стандарт, вероятно, говорит нет, хотя я не уверен. IMO, если такое поведение разрешено, контейнеры STL не могут получить никаких ресурсов, кроме памяти, выделенной от их распределителей, что слишком сильно ограничит поставщиков STL. Я никогда не являюсь экспертом в области стандартов, я был бы рад, если бы я оказался неправ.
Однако, если мой простой распределитель будет использоваться вместе с какой-либо реальной реализацией, такой как libstdc ++ или libc ++, произойдет ли утечка памяти в программе или другие проблемы?
Задача ещё не решена.
Других решений пока нет …