64,670
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
template <class T>
class MemPoolTemplate
{
public:
// constructor
explicit MemPoolTemplate(size_t memberNumber);
void* alloc(size_t size); // allocate memory for one object
void free(void* p, size_t size); // free memory for one object
// destructor
~MemPoolTemplate();
private:
///////////////////////////////////
#if 1
//struct Node;
//friend struct Node;
struct Node
{
int value;
struct Node* next;
};
static struct Node* headOfMemPool;
static struct Node* currentOfMemPool;
//static struct MemPoolTemplate::Node* headOfMemPool;
#endif // end #if
////////////////////////////////////
static size_t BLOCK_SIZE;
static size_t count;
};
//#if 1
#if 1
template <class T>
size_t MemPoolTemplate <T>::BLOCK_SIZE = 0;
template <class T>
size_t MemPoolTemplate <T>::count = 0;
template <class T>
MemPoolTemplate<T>::Node* MemPoolTemplate<T>::headOfMemPool = 0;//过不去
template <class T>
MemPoolTemplate <T>::Node* MemPoolTemplate <T>::currentOfMemPool = 0;//过不去
#endif // end #if