Если я объявляю что-то на куче, например char *a=new char[1000]
, и основная программа останавливает то, что произойдет с этой выделенной памятью, если нет вызова delete[]
? Он остается в куче или автоматически освобождается?C++ heap memory allocation/deallocation
ответ
Что касается C++, то что с ним произойдет, полностью не определено. Однако практически любая разумная операционная система очищает память, выделенную процессом, когда она завершается. Это, однако, очень хорошая практика для очистки после себя.
Нормальный он будет очищен ОС.
Когда приложение по какой-либо причине выходит из строя или прерывается, ОС восстанавливает память в обычном случае. Но это не определено.
Что C++ стандарт определяет «заканчивается» вскоре после того, как вы вернетесь из main()
- это объяснить, что глобальные объекты уничтожаются в какой-то момент после этого, atexit()
и некоторые другие «мы Переламывание» функции уровня также получить работать после main
возвращается. Но то, что происходит с памятью, в которой работает ваша программа, не указывается стандартом C++. То же самое относится к содержимому кучи.
Это зависит от ОС, чтобы очистить приложение, если в системе есть ОС (C++ не указывает, что у вас также должна быть ОС).
- 1. Dynamic Heap Memory Pool
- 2. java heap memory issue
- 3. Pointer Deallocation and Heap memory, C++
- 4. hadoop mapper over memory of memory (heap)
- 5. MySQL Heap/Memory based table
- 6. Couchbase - ElasticSearch Java Heap memory
- 7. Ошибка Java Socket Byte Heap Memory
- 8. JavaScript heap out of memory в NPM
- 9. heap VS anon memory в результате pmap
- 10. LOW Memory ... Java Heap Maxed Out (Ax)
- 11. android check heap memory во время выполнения
- 12. Почему ошибка YARN java heap space memory?
- 13. jboss-eap-5.1 heap out of memory
- 14. Memory Heap Security: String сбор мусора
- 15. boost :: object_pool on custom memory heap
- 16. Jasper Print - Java Heap space memory
- 17. C++: Binary Heap
- 18. C# Event Memory Memory Leaks
- 19. Angular-cli 'JavaScript heap out of memory' для оптимизации активов
- 20. Android dalvikvm-heap: Clamp target GC heap
- 21. heap out of Memory E/dalvikvm-heap: Недостаточно памяти на распределении 383385715 байтов
- 22. MEMORY (HEAP) vs. InnoDB в среде чтения и записи
- 23. Java POI heap out of memory - пакетная обработка
- 24. Карта в Hibernate таблице для MEMORY (HEAP) в XML
- 25. Использование памяти процесса .NET = 5x CLR Heap Memory?
- 26. tomcat as windows service - увеличить max java heap memory
- 27. Hive - Out of Memory Exception - Java Heap Space
- 28. C++ Memory Leaks
- 29. Heap ошибка в C#
- 30. C++ heap corporation dectected
Немного терминологии: вы ** объявляете ** и ** определяете ** имена, например 'a'. Вы ** выделяете ** объекты в кучу. Ну, формально, «бесплатный магазин», но никто этого не называет. –
дубликат http://stackoverflow.com/questions/6727383/dynamically-allocated-memory-after-program-termination – Saqlain
@PeteBecker: могу ли я процитировать это в моей информации о пользователе, для справки, когда люди делают это: «C++ не имеет кучи поэтому я отказываюсь отвечать на ваш вопрос «вещь? –