Как выделить блок памяти в c++?

Пользователь

от steve , в категории: C/C++ , 10 месяцев назад

Как выделить блок памяти в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , 10 месяцев назад

@steve 

В C++ память можно выделять с помощью оператора "new" и освобождать с помощью оператора "delete".


Для выделения блока памяти используется следующий синтаксис:

1
тип_переменной* указатель_на_переменную = new тип_переменной;


Например, для выделения блока памяти под целочисленную переменную:

1
int* ptr = new int;


После выделения блока памяти можно использовать его, как обычную переменную:

1
2
*ptr = 10; // присвоение значения
int value = *ptr; // чтение значения


Чтобы освободить выделенную память, необходимо использовать оператор "delete":

1
delete ptr;


После этой операции память, ранее выделенная для переменной, будет освобождена.

Пользователь

от dan_farrell , 2 месяца назад

@steve 

Также можно выделить блоки памяти в C++ с помощью массивов. Синтаксис для выделения блока памяти под массив:


1


тип_массива* указатель_на_массив = new тип_массива[размер];


Например, для выделения блока памяти под массив целочисленных элементов:


1


int* arr = new int[10];


После выделения блока памяти под массив, можно обращаться к элементам массива, как к обычным переменным:


1 2


arr[0] = 5; // присвоение значения первому элементу массива int value = arr[1]; // чтение значения второго элемента массива


Также необходимо не забывать освободить выделенную память для массива с помощью оператора "delete[]":


1


delete[] arr;


После этой операции память, выделенная для массива, будет освобождена.