O novo [] chama o construtor padrão em C ++?

Quando eu uso new [] para criar uma matriz de minhas classes:

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

Vejo que ele chama um construtor padrão deA count vezes. Como um resultadoarr temcount objetos inicializados do tipoA. Mas se eu usar a mesma coisa para construir uma matriz int:

int *arr2 = new int[count];

não é inicializado. Todos os valores são algo como-842150451 embora o construtor padrão de int atribua seu valor a0.

Por que existe um comportamento tão diferente? Um construtor padrão não é chamado apenas para tipos internos?

questionAnswers(3)

yourAnswerToTheQuestion