回复 2楼 cosam
这个也是在主函数结束后调用吗?请问调用几次?因为我写了一个程序,似乎在VC下主函数结束后调用了三次?
#include<iostream.h>
#include<malloc.h>
#include<new.h>
#include<stdio.h>
#include "tt.h"
void *operator new(size_t sz,const char *file,const int line)
{
cout<<sz<<"
"<<file<<" "<<line<<endl;
return malloc(sz);
}
void operator delete(void *p)
{
printf("free \n");
printf("%x\n",p);
char s=*(char*)p;
printf("%d,%c\n",s,s);
free(p);//???
}
#define new new(__FILE__,__LINE__)
void main()
{
Test *p=new Test();
delete p;
}
就这个函数,总共调用了三次delete,为什么