用于优化内存管理的Buffer模板类的代码,非常简单,就不说明了。 // Buffer类模板,用于WORD_NODE,String,Sorted Sting template <class Type> class BUF { private: size_t _size; Type* _buf; public: BUF() :_size(1) ,_buf(NULL) {} BUF(size_t size) :_size(size) ,_buf(NULL) { } ~BUF() { delete []_buf; } bool InitMemory(void) { _buf = new Type[_size]; if (NULL == _buf ) return false; else return true; } Type* GetMem(void) { if ( _size ) { _size--; return _buf++; } return NULL; } Type* GetMem(size_t size) { if ( 0 < (int)(_size - size ) ) { _size -= size; Type* pt = _buf; _buf +=size; return pt; } return NULL; } };