effectiveC++(十)(十四)

2010-12-26 23:05:16 · 作者: · 浏览: 11870
造成的结果通常是不可预测的。

有了这个pool类,即使java程序员也可以不费吹灰之力地在airplane类里增加自己的内存管理功能:

class airplane {
public:

  ...                               // 普通airplane功能

  static void * operator new(size_t size);
  static void operator delete(void *p, size_t size);

private:
  airplanerep *rep;                 // 指向实际描述的指针
  static pool mempool;              // airplanes的内存池

};

inline void * airplane::operator new(size_t size)
{ return mempool.alloc(size); }

inline void airplane::operator delete(void *p,