随笔分类 - Effective C++
摘要:条款10:如果写了operator new就要同时写operator delete这样做是为了效率,也就是当一个类的size很小的时候,如果需要频繁的new和delete对象,也即大量的分配释放小的内存块,这样不仅会造成系统内存碎片,性能也会很差。这个时候我们可以在new第一个对象的时候分配一个很大...
阅读全文
摘要:如果在类里增加一个带多个参数的operator new函数,则标准的operator new(size_t size)将会屏蔽解决方法如下:1. 如果写了一个多带参数的operator new函数,则也写一个和标准new同样参数的new函数class X{private: //...public: ...
阅读全文
摘要:1. 首先我被一个问题所困恼:条款7中的operator new是这么写的,但条款8中的new却多了一个while。回头再仔细看下条款7,原来条款7中的operator new只处理了第一次分配内存失败的异常。//条款7中的operator newtemplate void* NewHandler...
阅读全文
摘要:1. operator new在无法完成内存分配请求时会抛出异常(在以前或者某些特定情况(声明nothrow)下new会返回0)2. 使用C语言的宏定义处理会是这样#define NEW(PTR, TYPE) \ try {(PTR) = new TYPE; } \ catch ...
阅读全文

浙公网安备 33010602011771号