MemoryPool 类是一个内存池模板类,它可以用来管理堆内存。
allocate 函数用来分配内存,它需要一个 size_t 类型的参数,表示所需分配的内存大小。在 MemoryPool 中,allocate 函数会检查当前内存池中是否有足够的空闲内存,如果有,则分配这块内存;如果没有,则会新分配一大块内存,并在这块新内存上分配出所需的内存块。
deallocate 函数用来回收内存,它需要两个参数:一个 void* 类型的指针,表示要被回收的内存块的地址;一个 size_t 类型的参数,表示这块内存的大小。在 MemoryPool 中,deallocate 函数会将这块内存块添加到内