赞
踩
如下所示:
#include<cstdio> #include<cstdlib> using namespace std; void* operator new(size_t sz) //sz由编译器传入 { printf("operator new: %d Bytes\n", sz); void* m = malloc(sz); if (!m) puts("out of memory"); return m; } void operator delete(void* m) { puts("operator delete"); free(m); } class S { int i[100]; public: S(){ puts("S::S()"); } ~S(){ puts("S::~S()"); } }; int main() { puts("Creating & destroying an int"); int* p = new int(47); delete p; puts("Creating & destroying an S"); S* s = new S; delete s; puts("Creating & destroying S[3]"); S* sa = new S[3]; delete[]sa; return 0; }
可得如下几点:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。