Динамическое выделение памяти

В языке С++ память можно выделять динамически. Динамическое распределение памяти используется, прежде всего, тогда, когда заранее неизвестно, сколько объектов понадобится в программе, и понадобятся ли они вообще. С помощью динамического распределения памяти можно гибко управлять временем жизни объектов, например, выделить память не в самом начале программы (как для глобальных переменных), но, тем не менее, сохранять нужные данные в этой памяти до конца программы. Распределяя подобным образом память динамически, ваша программа непрерывно изменяет свои потребности без дополнительного программирования. Если ваша программа запрашивает память во время выполнения, она указывает требуемое количество памяти, а используемый оператор языка C++ возвращает указатель на эту память.В этом параграфе рассматриваются действия, которые должна выполнить ваша программа для динамического распределения памяти, а впоследствии освобождения памяти во время выполнения. Вы освоите следующие основные концепции:

  • Чтобы запросить память во время выполнения, ваша программа должна использовать оператор C++ new.
  • При использовании оператора newуказывается количество требуемой памяти. Если оператор newуспешно выделяет требуемый объем памяти, он возвращает указатель на начало области выделенной памяти.
  • Если оператор newне может удовлетворить запрос на память вашей программы (возможно, свободной памяти уже не осталось), он возвращает указатель NULL.
  • Чтобы позже освободить память, распределенную с помощью оператора new,ваша программа должны использовать оператор C++ delete.

Динамическое распределение памяти во время выполнения является чрезвычайно полезной возможностью.








Дата добавления: 2015-02-10; просмотров: 665;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.