Mediante la cancelación
Hay dos variantes sintácticas para operador delete: uno de los únicos objetos y otro para las matrices de objetos.El fragmento de código siguiente muestra cómo difieren siguientes:
// expre_Using_delete.cpp
struct UDType
{
};
int main()
{
// Allocate a user-defined object, UDObject, and an object
// of type double on the free store using the
// new operator.
UDType *UDObject = new UDType;
double *dObject = new double;
// Delete the two objects.
delete UDObject;
delete dObject;
// Allocate an array of user-defined objects on the
// free store using the new operator.
UDType (*UDArr)[7] = new UDType[5][7];
// Use the array syntax to delete the array of objects.
delete [] UDArr;
}
Los dos casos siguientes generan resultados no definidos: mediante la forma de matriz de cancelación (delete []) en un objeto y utilizar el formulario nonarray de cancelación en una matriz.