Вызывает ли new [] конструктор по умолчанию в C ++?
Когда я использую new [] для создания массива моих классов:
int count = 10;
A *arr = new A[count];
Я вижу, что он вызывает конструктор по умолчаниюA
count
раз. В следствииarr
имеетcount
инициализированные объекты типаA
, Но если я использую то же самое для создания массива int:
int *arr2 = new int[count];
это не инициализировано. Все ценности что-то вроде-842150451
хотя конструктор по умолчанию для int присваивает его значение0
.
Почему такое разное поведение? Разве конструктор по умолчанию не вызывается только для встроенных типов?