63 #ifndef HAS_PLACEMENT_DELETE 64 #define HAS_PLACEMENT_DELETE 1 91 #ifndef _DEBUG_NEW_REDEFINE_NEW 92 #define _DEBUG_NEW_REDEFINE_NEW 1 97 void*
operator new(
size_t size,
const char* file,
int line);
98 void*
operator new[](
size_t size,
const char* file,
int line);
99 #if HAS_PLACEMENT_DELETE 100 void operator delete(
void* pointer,
const char* file,
int line)
throw();
101 void operator delete[](
void* pointer,
const char* file,
int line)
throw();
103 #if defined(_MSC_VER) && _MSC_VER < 1300 106 void*
operator new[](size_t)
throw(std::bad_alloc);
107 void operator delete[](
void*)
throw();
124 #define DEBUG_NEW new(__FILE__, __LINE__) 126 # if _DEBUG_NEW_REDEFINE_NEW 127 # define new DEBUG_NEW 129 # ifdef _DEBUG_NEW_EMULATE_MALLOC 132 # define malloc(s) ((void*)(new char[s])) 134 # define malloc(s) ((void*)(DEBUG_NEW char[s])) 136 # define free(p) delete[] (char*)(p) 155 #endif // _DEBUG_NEW_H const char * new_progname
Part of Wu Yongwei's new/delete debug memory leak detector.