Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

VS С++.Проверка. все ли объекты удалены из памяти

95  
JacksonB гость01.12.06 14:06
JacksonB
01.12.06 14:06 
Доброго времени суток.
Буду очень признателен, если подскажите, как проверять средствами MSVS2003 С++ по окончание выполнения программы (в дебаг моде наверное) все ли объекты были из памяти удалены. либо какой-нибудь другой прожкой. но лучше средствами MSVS2003. Вроде бы написал в коде все delete. но сами понимаете чем больше код тем сложнее искать где забыл и т.д. во общем помогите, подскажите. желательно с небольшими инструкциями как это делать.
Заранее благодарен!
#1 
Simple Nothing is f*cked01.12.06 14:21
Simple
NEW 01.12.06 14:21 
в ответ JacksonB 01.12.06 14:06
Мож проще smart pointers использовать? :)
В VC6 выдавалось в выводе, что найдены дыры, если запускать по ф5.
#2 
  scorpi_ nobody01.12.06 14:21
NEW 01.12.06 14:21 
в ответ JacksonB 01.12.06 14:06
А что, у тебя в программе много new? В современном С++ весьма редко приходится применять new.
Смотри _CrtDumpMemoryLeaks и прочие _CrtXxx функции
#3 
JacksonB посетитель01.12.06 14:51
JacksonB
NEW 01.12.06 14:51 
в ответ scorpi_ 01.12.06 14:21
Спасибо за советы. Очень признателен.
а поинтеров 30 штук :)
#4 
Simple Nothing is f*cked01.12.06 15:03
Simple
NEW 01.12.06 15:03 
в ответ scorpi_ 01.12.06 14:21
Кстати, вопрос почти по теме: как копировать класс с pimpl? Копировать pimpl полностью или "шарить" его? shared_ptr, к сожалению, нет :(
#5 
  scorpi_ nobody01.12.06 15:49
NEW 01.12.06 15:49 
в ответ Simple 01.12.06 15:03
В ответ на:
как копировать класс с pimpl? Копировать pimpl полностью или "шарить" его?

Это IMHO целиком и полностью зависит от семантики класса.
В ответ на:
shared_ptr, к сожалению, нет

Как нет?
#6 
Simple Nothing is f*cked01.12.06 15:58
Simple
NEW 01.12.06 15:58 
в ответ scorpi_ 01.12.06 15:49
> Это IMHO целиком и полностью зависит от семантики класса.
Да, я уже сам допер.
Можно было бы буст поставить, конечно, но на меня уже и так косо смотрят ;) Хотя достаточно и auto_ptr, по-моему.
#7 
  scorpi_ nobody01.12.06 16:04
NEW 01.12.06 16:04 
в ответ Simple 01.12.06 15:58
В ответ на:
Хотя достаточно и auto_ptr, по-моему.

Да ну, он слишком специфичен. В частности не годится для использования в контейнерах.
#8 
Simple Nothing is f*cked01.12.06 16:19
Simple
NEW 01.12.06 16:19 
в ответ scorpi_ 01.12.06 16:04
Напрямую в данном случае (как pimpl) он и не используется.
Некоторые библиотеки Буста же можно поставить просто так? В смысле, скопировав хедеры?
#9 
  scorpi_ nobody01.12.06 16:34
NEW 01.12.06 16:34 
в ответ Simple 01.12.06 16:19
Да, большинство по-моему.
#10