Могут ли контейнеры STL быть использованы без уничтожения, если для loadlocate () распределителя задано noop?

Извините за длинное название ~

У меня есть простой распределитель, реализованный поверх пула памяти, чей deallocate() пустой. Если с этим распределителем используется контейнер STL, а элементы контейнера являются тривиально разрушаемыми, могу ли я вообще избежать вызова деструктора контейнера?

Стандарт, вероятно, говорит нет, хотя я не уверен. IMO, если такое поведение разрешено, контейнеры STL не могут получить никаких ресурсов, кроме памяти, выделенной от их распределителей, что слишком сильно ограничит поставщиков STL. Я никогда не являюсь экспертом в области стандартов, я был бы рад, если бы я оказался неправ.

Однако, если мой простой распределитель будет использоваться вместе с какой-либо реальной реализацией, такой как libstdc ++ или libc ++, произойдет ли утечка памяти в программе или другие проблемы?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]