Sobes.tech
Middle

Quais são os dois tipos de operador delete em C++?

sobes.tech IA

Resposta da IA

  1. Operador delete normal: Usado para libertar a memória alocada para um único objeto usando o operador new.
  2. Operador delete[]: Usado para libertar a memória alocada para um array de objetos usando o operador new[]. Ao usar delete[], os destrutores de todos os elementos do array são chamados na ordem inversa à sua criação.

O uso do tipo errado de operador delete (por exemplo, delete para um array ou delete[] para um único objeto) leva a um comportamento indefinido.

Exemplo:

// Operador delete normal
int* objeto_unico = new int(10);
// ... uso de objeto_unico
delete objeto_unico;

// Operador delete[] para array
int* array_de_objetos = new int[5];
// ... uso de array_de_objetos
delete[] array_de_objetos;