c++ simple memory pool using template class and placement new and list data structure