Разница между статической и динамической памятью в C++ заключается в следующем:
- Статическая память выделяется компилятором на этапе компиляции программы и хранится в исполняемом файле. otvet.mail.ru При запуске программы необходимые секции исполняемого файла операционная система загружает в оперативную память. otvet.mail.ru Размер статической памяти не может меняться в процессе выполнения программы. github.com Переменные в статической памяти живут до конца выполнения программы. github.com
- Динамическая память выделяется во время работы программы. ru.stackoverflow.com Все объекты, выделяемые динамически, размещаются в куче (heap). ru.stackoverflow.com Это позволяет по ходу работы программы контролировать и корректировать объём используемой памяти и, следовательно, создавать программы, способные обрабатывать большие объёмы данных. ru.stackoverflow.com
Таким образом, при статическом выделении памяти компилятор выполняет выделение и освобождение памяти автоматически, а при динамическом — программист делает это вручную. www.scaler.com