Существуют ли какие-либо веские причины (кроме "макросов являются злыми", возможно) НЕ использовать следующие макросы?
#define DELETE( ptr ) \
if (ptr != NULL) \
{ \
delete ptr; \
ptr = NULL; \
}
#define DELETE_TABLE( ptr ) \
if (ptr != NULL) \
{ \
delete[] ptr; \
ptr = NULL; \
}