Compare os operadores de alocação e desalocação de memória

dinâmica new, new [], delete e delete [].

Passo 1

A palavra-chave new aloca memória dinamicamente para um objeto de um determinado tamanho. Após a execução, ele chama o construtor padrão da classe do objeto e retorna um ponteiro para o local de memória desse objeto.

Por outro lado, new [] aloca dinamicamente um array de objetos, chamando o construtor padrão para cada elemento no array. A instrução retorna um ponteiro para o primeiro elemento da matriz.

Passo 2

A palavra-chave delete desaloca memória alocada dinamicamente de um único objeto. Antes de desalocar a memória, a instrução chama o destruidor correspondente do objeto.

O delete [] é usado para desalocar arrays alocados dinamicamente. A instrução chama destruidores para cada elemento da classe e, em seguida, desaloca toda a memória ocupada pelo array.

Resposta

Ver a explicação.