054 // 插入队列头部
055 if (g_header.pNext)
056 {
057 g_header.pNext->pPrev = pTag;
058 }
059 pTag->pNext = g_header.pNext;
060 g_header.pNext = pTag;
061 pTag->pPrev = &g_header;
062
063 return pTag + 1;
064 }
065
066 void* operator new(size_t size)
067 {
068 return (operator new(size, __FILE__, __LINE__));
069 }
070
071
072 void operator delete(void* p, const char*, int line)
073 {
074 delete p;
075 }
076
077 void operator delete(void* p)
078 {
079 MEMORY_TAG* pTag = (MEMORY_TAG*)(((char*)p)-sizeof(MEMORY_TAG));
080 // 从队列中删除
081 pTag->pPrev->pNext = pTag->pNext;
082 if (pTag->pNext)
083 {
084 pTag->pNext->pPrev = pTag->pPrev;
085 }
086 free(pTag);
087 }
088
089 class Object
090 {
091 public:
092 Object()
093 {
094 cout << "Object's contructor." << endl;
095 }
096
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。