Middle
Quais são os dois tipos de operador delete em C++?
sobes.tech IA
Resposta da IA
- Operador
deletenormal: Usado para libertar a memória alocada para um único objeto usando o operadornew. - Operador
delete[]: Usado para libertar a memória alocada para um array de objetos usando o operadornew[]. Ao usardelete[], 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;