PAD_DELETE() is a macro that deallocates or frees the memory that is used by a SPUPad.
PAD_DELETE(pad, ptr)
The PAD_DELETE() macro deallocates memory that was used for a SPUPad by calling the deallocate() function and invoking the necessary destructors. PAD_DELETE() invokes helper templates to ensure that deallocate() and the destructors are invoked appropriately.
PAD_DELETE(pad, pObj);
PAD_DELETE(pad, pStr);
The array style helps to properly support the calling of destructors when it frees an array of objects that have a destructor.