This macro allocates the memory for a new CPad.


PAD_NEW(pad, type)


The PAD_NEW() macro allocates memory by using the allocate() function, and can also be used to invoke constructors and destructors. PAD_NEW() invokes helper templates to ensure that allocate() and the related constructors are invoked appropriately.

PAD_NEW() can be used in array and non-array contexts as follows:
MyObject *pObj = PAD_NEW(pad, MyObject);
char * pStr = PAD_NEW(pad, char)[10];

The array style helps to properly support the calling of constructors when it allocates an array of objects that have a constructor.