ALTE DOCUMENTE
|
||||||
Динамическое выделение и освобо& 18518h722s #1078;дение памяти
alloc new delete языка «С++» позволяют программисту выделять память из общей «кучи» памяти компьютера - RAM-ресурса и освобо& 18518h722s #1078;дать ее, т.е. возвращать в «кучу». Они заменяют такие функции Unix и Windows, как malloc calloc free
Есть два основных способа использования операции new:
float *r = new float;
float *r = new (float);
new
Операция new true false, если нет свобо& 18518h722s #1076;ной памяти требуемого размера.
delete
float *r = new float[20];
delete r;
Что если операция delete используется с указателем, для которого память не была выделена при помощи операции new, либо была освобо& 18518h722s #1078;дена ранее? - Это ошибка. Каждая система ведет себя в этом случае по-своему. В общем случае ответственность за недопущение подобных ситуаций лежит на программисте.
scb
struct scb
;
scb char village[25] double lat double lon sb th
space scb
struct scb space
if space new scb
printf("Нет памяти для нового элемента списка!\n");
space
|