У меня есть программа, использующая STL для использования больших контейнеров чисел, иногда vector
, иногда deque
; иногда он строит большой vector
напрямую, иногда он начинается с небольшого размера, а затем увеличивается с помощью resize
.есть утечка памяти, когда STL выбрасывает исключение «bad_alloc»?
Конструктор vector
или deque
или resize
иногда выбрасывает исключение «bad_alloc». Мой вопрос в том, есть ли утечка памяти здесь? Если утечки памяти нет, я все равно могу продолжить; но, если есть, все более хлопотно.
Моя система - 64-разрядная версия Windows 7, Visual Studio 2013 и работающая на 32-разрядных программах.
FYI: http://stroustrup.com/except.pdf –
@NickyC в чем ваш смысл? – athos
@PaulRooney да, у него заканчивается память, но я предполагаю, что во время «конструктора» или «изменения размера» контейнеров STL используются 'new' или' malloc', поэтому, когда 'bad_alloc' выбрасывается из STL, STL очищает часть памяти? есть ли утечка памяти? – athos