注册 登录
编程论坛 VC++/MFC

请教:初始化列表概念,&概念?

lycgsw 发布于 2011-07-05 12:34, 352 次点击
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);

}
1 回复
#2
zhoufeng19882011-07-05 16:42
&代表引用。
就相当于给变量起了一个别名。对该引用的操作和对变量操作是一样的。

[ 本帖最后由 zhoufeng1988 于 2011-7-5 16:43 编辑 ]
1