www.gusucode.com > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序 > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序/code/C++例题程序/第6章/s6_6/smain6_6.cpp
//Download by http://www.NewXing.com //文件名:smain6_6.cpp //delete重载,非运行程序 void operator delete(void *rawmemory) //非类的delete伪代码 { if (rawmemory == 0) return; //如果指针为空,返回 释放rawmemory指向的内存; return; } class base //类中的delete伪代码。 { // 和前面一样,只是这里声明了 public: // operator delete static void *operator new(size_t size); static void operator delete(void *rawmemory, size_t size); //... }; void base::operator delete(void *rawmemory, size_t size) { if (rawmemory == 0) return; // 检查空指针 if (size != sizeof(base)) // 如果size"错误", { ::operator delete(rawmemory); // 让标准operator来处理请求 return; } 释放指向rawmemory的内存; return; }