很多代码不知道其中变量的意义,如:

来源:百度知道 编辑:UC知道 时间:2024/07/02 10:46:33
ULONG stdcall CFactory::Release()
{
if(InterlockedDecrement(&m_cRef)==0)
{
delete this;
return 0;
}
return m_cRef;
}
这里m_cRef代表什么, this代表什么?

你这个应该是一个COM组件
m_cRef表示的是这个组件被引用的次数
this表示组件本身
整个语句表示的是如果该组件CFactory引用次数到0时就释放它在内存占用的空间(在COM中调用Release只是把组件的引用数减1,引用数还没为0时都不会释放空间的)