object_memory_monitoring - 源码文件 - 点击下载
C或C语言和其他语言不同,需要自己管理内存,对不需要的内存要及时释放,否则就会导致内存泄露,导致内存不足让程序崩溃。
在C程序员中,很容易导致内存忘记释放,特别是在程序出现异常的情况下。
在对象中我们可以对new,delete进行重写,实现内存监视
#include <iostream>
#include <stdlib.h>
using namespace std;
class man
{
public:
//计数器
static int jishuqi;
//用于指向头结点
static man * head;
//用于指向当前节点
static man * local;
man * next;
man()
{
//cout << "man preject init!" << endl;
}
~man()
{
//cout << "man preject end!" << endl;
}
static void * operator new(size_t size)
{
man *ptemp = ::new man;
ptemp->next = NULL;
if(head == NULL){
head = ptemp;
}
if(local == NULL){
local = ptemp;
}
else{
local->next = ptemp;
local = ptemp;
}
jishuqi += 1;
cout << "man preject building! jishuqi = " << jishuqi << " address = " << ptemp << endl;
return ptemp;
}
static void operator delete(void *p)
{
//