一 重载全局 operator new 和 operator delete 操作符,知道这个语法就行了,每人这么用
前面是看到了 我们在某一个类中 重写了 operator new 和 operator delete。
实际上也可以 重载全局的 operator new 和 operator delete。
重载了全局的 operator new 和 operator delete 会对整个.cpp中的所有其作用,不建议用,这里只是知道语法就可以了。
//全局重写 operator new,和某一个具体类写法不同,不能加static
void* operator new(size_t size) {
cout << "operator new size = " << size << endl;
return malloc(size);
}
//全局从写 operator delete,和某一个具体类写法不同,不能加static
void operator delete(void *phead) {
cout << "operator delete " << endl;
free (phead);
}
//全局重写 operator new[],和某一个具体类写法不同,不能加static
void* operator new[](size_t size) {
cout << "operator new[] size = " << size << endl;
return malloc(size);
}
//全局重写 operator delete[],和某一个具体类写法不同,不能加static
void operator delete[](void *phead) {
cout << "operator delete[] " << endl;
free(phead);
}
class Teacher39 {
public:
Teacher

最低0.47元/天 解锁文章
1840

被折叠的 条评论
为什么被折叠?



