Пример 2. Следующая программа использует оператор new для распределения памяти под массив из 500 значений с плавающей точкой

Следующая программа использует оператор new для распределения памяти под массив из 500 значений с плавающей точкой:

float *array = new float[100];

if (array!= NULL) cout << "Память выделена успешно";
else cout << "new не может выделить память" << endl;

Поскольку эта программа "жестко закодирована" на объем требуемой памяти, возможно, вам потребуется ее редактировать и перекомпилировать, если возникнет необходимость, чтобы программа выделила меньше или больше памяти. Как уже обсуждалось, одна из причин существования динамического распределения памяти состоит в том, чтобы избавиться от необходимости редактировать и перекомпилировать программу при изменении требований к объему памяти. Когда ваша программа использует оператор new для динамического распределения памяти, то вполне вероятно, что она сама посчитала количество будущих элементов и запросит выделить соответствующее количество памяти или запросит это значение у пользователя.

Пример 3.

Следующая программа запрашивает у пользователя количество памяти, которое необходимо выделить для хранения массива символов, и затем распределяет память, используя оператор new:

#include "stdafx.h"

#include <iostream>

using namespace std;

void main()

{
int size;

char *pointer;
cout << "Введите размер массива, до 30000: ";
cin >> size;
if (size <= 30000)

{
char *pointer = new char[size];
if (pointer!= NULL) cout << "Память выделена успешно";
else cout << "Невозможно выделить память" << endl;
}
}

ОСВОБОЖДЕНИЕ ПАМЯТИ

Оператор C++ new позволяет вашей программе выделять память динамически во время выполнения. Если вашей программе больше не нужна выделенная память, она должна ее освободить, используя оператор delete. Для освобождения памяти с использованием оператора delete вы просто указываете этому оператору указатель на данную область памяти, как показано ниже:

delete pointer;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: