Оператор new[]
Оператор new[] выделяет память под массив объектов
в динамической памяти (куче) и возвращает указатель
на первый элемент этого массива. В качестве первого
параметра оператор принимает тип данных, для которого
нужно выделить память, а в квадратных скобках указывается
количество элементов. В отличие от обычного new,
оператор new[] используется для создания массива.
Синтаксис
type* pointer = new type[count];
Пример
Давайте выделим память под массив из 5 целых чисел
и заполним его значениями:
#include <iostream>
using namespace std;
int main()
{
int* arr = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = i + 1;
}
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте выделим память под массив из 3 строк
и выведем их на экран:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string* arr = new string[3];
arr[0] = "abcde";
arr[1] = "12345";
arr[2] = "abcde";
for (int i = 0; i < 3; i++) {
cout << arr[i] << endl;
}
delete[] arr;
return 0;
}
Результат выполнения кода:
"abcde"
12345
"abcde"
Пример
Давайте выделим память под массив из 4 чисел
и инициализируем его значениями сразу при создании:
#include <iostream>
using namespace std;
int main()
{
int* arr = new int[4]{1, 2, 3, 4};
for (int i = 0; i < 4; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
Результат выполнения кода:
1 2 3 4
Смотрите также
-
оператор
new,
который выделяет память под один объект -
оператор
delete[],
который освобождает память, выделенную под массив -
оператор
delete,
который освобождает память, выделенную под один объект -
оператор
placement new,
который создает объект в уже выделенной памяти