Если мы напишем что-то вроде:
int *arr = new int[5];
В этом случае система динамически выделяет пространство для 5 элементов типа int
и возвращает указатель на первый элемент последовательности.
Но, как только я увидел следующий код:
int *arr = new int[5]{};
Итак, что означает {}
после new
оператора? Какова цель {}
в этом коде?
Я инициализировал массив с моим собственным значением, например:
#include <iostream>
int main()
{
int* a = new int[5]{1};
for(int i = 0; i < 5; i++)
std::cout<< a[i]<<' ';
delete[] a;
}
Вывод:
1 0 0 0 0
Только первый элемент печати 1
. Почему?