103 C++ 内存高级话题 重载全局new,delete,定位new以及重载等

一 重载全局 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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值