Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Выделение памяти под массив
Выделение памяти под массив производится следующим образом:
<Указатель> = new <Тип данных>[<Количество элементов>];
Освободить выделенную память можно так:
delete [] <Указатель>;
Обратите внимание на то, что при освобождении памяти количество элементов не указывается. Пример выделения памяти под массив приведен в листинге 3.15.
Листинг 3.15. Динамическое выделение памяти под массив
#include <iostream>
#include <new>
#include <clocale>
#include <process.h>
int main() {
std::setlocale(LC_ALL, "Russian_Russia.1251");
const int ARR_SIZE = 3; // Размер массива
int *p = nullptr; // Создаем указатель
try {
p = new int[ARR_SIZE]; // Выделяем память
}
catch (std::bad_alloc &ex) {
std::cerr << "Не удалось выделить память" << std::endl;
exit(1); // Выходим при ошибке
}
// Нумеруем элементы массива от 1 до 3
for (int i = 0; i < ARR_SIZE; ++i) { // Пользуемся памятью
p[i] = i + 1;
}
// Выводим значения
for (int i = 0; i < ARR_SIZE; ++i) {
std::cout << p[i] << std::endl;
}
delete [] p; // Освобождаем память
p = nullptr; // Обнуляем указатель
return 0;
}
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов