struct TTest
{
int iIndexType;
char cDate[150];
void init(){
iIndexType=NO_DATE;
memset(cDate,0,sizeof(cDate));
};
TEventPack(){
init();
};
};
class CTestManager
{
public:
CTestManager();
~CTestManager();
//分配空间
void AllocateEventBuf(int iPackSize=ALOC_PACKSIZE);
//写
bool Push(TEventPack *cBuf);
//读
TEventPack *Pop();
//设置读取标志
void SetReadMark();
//设置写标志
void SetWriteMark(int iIndexType);
protected:
private:
TTest *m_pHead;//头指针
TTest *m_pTail;//尾指针
TTest *m_pCurReadPoint;//当前读指针
TTest *m_pCurWritePoint;//当前写指针
TTest *pEventPack;
int m_PackSize;//长度
};
这个接口还有很多优化空间,等闲暇时间再行优化。