请教:初始化列表概念,&概念?
class CQueue {
public:
struct ELEMENT{
int m_nThreadNum,m_nRequestNum;
};
typedef ELEMENT* PELEMENT;
private:
PELEMENT m_pElement;
int m_nMaxElements;
HANDLE m_h[2];
HANDLE &m_hmtxQ;//这个&代表的是什么,定义的是什么类型和HANDLE m_hmtxQ这种定义方法有什么区别??????
HANDLE &m_hsemNumElements;
public:
CQueue(int nMaxElements);
~CQueue();
BOOL Append(PELEMENT pElement,DWORD dwMillSeconds);
BOOL Remove(PELEMENT pElement,DWORD dwMillSeconds);
};
/////////////////////////////////////////////////////////////
CQueue::CQueue(int nMaxElements):m_hmtxQ(m_h[0]),mhsemNumElements(m_h[1])
//这边的初始化列表,是什么意思,初始化列表不是初始化成员对象,父类吗?????
{
m_pElement=(PELEMENT)HeapAlloc(GetProcessHead(),0,sizeof(ELEMENT)*nMaxElements);
m_nMaxElements=nMaxElements;
m_hmtxQ=CreateMutex(NULL,FALSE,NULL);
m_hsemNumElements=CreateSemaphore(NULL,0,nMaxElements,NULL);
}