operator new 和operator delete的重载应用
来源:互联网 发布:淘宝详情页怎么制作 编辑:程序博客网 时间:2024/06/05 00:24
#include <iostream>using namespace std;/* 重载后的operator new实现的功能是,看一看刚刚回收的垃圾堆上还有没有位置, 有位置的话,就直接拿一块下来,用来初始化。*/class FreeListBase{public: FreeListBase(): next(NULL){}; virtual ~FreeListBase(); void* operator new(size_t size); void operator delete(void* pDeallocation);private: static FreeListBase* m_pFreeList; FreeListBase* next;};FreeListBase:: ~FreeListBase(){}void* FreeListBase:: operator new(size_t size){ if (m_pFreeList) { void* p = static_cast<void*>(m_pFreeList); //安全的C++类型转换 m_pFreeList = m_pFreeList->next; return p; } else { return ::operator new(size); }}void FreeListBase:: operator delete(void* pDeallocation){ FreeListBase* p = static_cast<FreeListBase*>(pDeallocation); p->next = m_pFreeList; m_pFreeList = p;}FreeListBase* FreeListBase:: m_pFreeList = NULL;int main(){ return 0;}
0 0
- operator new 和operator delete的重载应用
- 重载operator new 和 operator delete
- c++重载operator new和operator delete
- 重载debug版本的operator new和operator delete
- operator new / operator delete等的重载
- C++ 的 new 和 delete : new operator, operator new, placement new, delete operator, operator delete
- operator new和operator delete 的用法
- new operator和delete operator
- operator new 和 operator delete
- operator new 和 operator delete
- operator new和operator delete
- operator new和operator delete
- C++中,operator new和operator delete重载举例
- 关于new/operator new和delete/operator delete的看法
- new/delete operator和operator new/delete
- 类的operator new与operator delete的重载
- 类的operator new与operator delete的重载
- 类的operator new与operator delete的重载
- Spring3.1.1 quartz1.8.6 定时器配置
- ExtJs4学习笔记(二):aptana studio 3 extjs4.2智能提示
- 华为携手合作伙伴共筑中国式UC&C
- ZooKeeper伪分布式集群安装及使用
- 自定义搜狗输入法皮肤(DIY),挺好玩的。。制作全流程
- operator new 和operator delete的重载应用
- 维护城市信息安全 打造绿色通信环境
- linux系统管理(7)---screen
- 第六周C++作业(part 1)
- 使用 jQuery dataTables - 1
- 面试题-谈谈对java的认识
- 华为发布2013年报 销售收入同比增8.5%
- android中LayoutInflater以及inflate
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)