C++中要求(或禁止)对象产生于heap中
2011-02-15 13:46
495 查看
http://www.7880.com/info/2006/06/27/article-22921.html 要求对象产生于heap中 class HeapClass { public: void Destory() const {delete this;} private: ~HeapClass(){} //析构函数无法访问,生成非heap对象将无法通过编译。 }; HeapClass* ptr = new HeapClass; ptr->Destory(); 这样的调用真是很厉害,想生成非Heap对象都不成了。 禁止对象产生于heap之中: class HeapClass { private: void* operator new(size_tsize); //无法访问new操作,无法产生heap对象。 void* operator new[](size_tsize); void operator delete(void *ptr); void operator delete[](void* ptr); public: HeapClass(){printf("Constructor!/n");} HeapClass(const HeapClass&){printf("copy Constructor!/n");} public: ~HeapClass(){} }; |
相关文章推荐
- more effective C++设计模式 要求(或禁止)对象产生于heap中
- More Effective C++ 条款27 要求(禁止)对象产生与heap之中
- 《More Effective C++》学习心得(八) 要求(或禁止)对象产生于heap中
- More Effective C++(条款27:要求(或禁止)对象产生于heap之中)
- More Effective C++ 阅读笔记(十三)--要求或禁止在堆中产生对象
- 条款27:要求/禁止对象产生于heap中
- 条款二十七 要求或者禁止对象产生于heap中
- More Effective C++----(27)要求或禁止在堆中产生对象
- 技术(3)—要求(或禁止)对象产生于heap之中
- 【M27】要求或者禁止对象产生于heap之中
- 【more effective c++读书笔记】【第5章】技术(3)——要求(或禁止)对象产生于heap之中
- 【more effective c++读书笔记】【第5章】技术(3)——要求(或禁止)对象产生于heap之中
- java/c++禁止产生堆/栈对象及其他
- 要求或禁止在堆中产生对象
- 要求或禁止在堆中产生对象
- 要求或禁止在堆中产生对象
- C++内存对象大会战 禁止产生堆对象 禁止产生栈对象
- 禁止或要求对象产生于堆中
- 13.如何做到要求或禁止在堆中产生你自定义的对象
- 《MORE EFFECTIVE C++》条款27 要求或者禁止对象分配在堆上