¿New [] llama al constructor predeterminado en C ++?

Cuando uso new [] para crear una matriz de mis clases:

int count = 10;
A *arr = new A[count];

Veo que llama a un constructor predeterminado deA count veces. Como resultadoarr tienecount objetos de tipo inicializadosA. Pero si uso lo mismo para construir una matriz int:

int *arr2 = new int[count];

No está inicializado. Todos los valores son algo como-842150451 aunque el constructor predeterminado de int asigna su valor a0.

¿Por qué hay un comportamiento tan diferente? ¿Un constructor predeterminado no se llama solo para los tipos integrados?

Respuestas a la pregunta(3)

Su respuesta a la pregunta