当前位置:首页 > 环形缓冲区的实现原理
m_capacity = bufsize; } }
template
CShareQueue<_Type>::~CShareQueue() {
delete[] pBuf; pBuf = NULL;
m_head = m_tail = m_size = m_capacity = 0; }
//前面弹出一个元素 template
_Type CShareQueue<_Type>::pop_front() {
if( IsEmpty() ) {
return NULL; }
_Type itemtmp;
itemtmp = pBuf[m_head];
m_head = (m_head + 1) % m_capacity; --m_size; return itemtmp; }
//从尾部加入队列 template
bool CShareQueue<_Type>::push_back( _Type item) {
if ( IsFull() ) {
return FALSE; }
pBuf[m_tail] = item;
m_tail = (m_tail + 1) % m_capacity; ++m_size; return TRUE; }
#endif // !defined(_DALY_CSHAREQUEUE_H_)
共分享92篇相关文档