64,685
社区成员
发帖
与我相关
我的任务
分享
// TestX1X2X3.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <vector>
class RefObj
{
public:
RefObj()
{
m_Ref = 0;
}
int AddRef();
int Release();
private:
int m_Ref;
};
int RefObj::AddRef()
{
return ++m_Ref;
}
int RefObj::Release()
{
int nRef = --m_Ref;
if (nRef==0)
{
delete this;
}
return nRef;
}
int _tmain(int argc, _TCHAR* argv[])
{
RefObj* aRefObj = new RefObj;
aRefObj->AddRef();
std::vector<RefObj*> ListRef;
ListRef.push_back(aRefObj);
aRefObj->Release();
return 0;
}
std::vector<RefObj*> ListRef;
ListRef.push_back(aRefObj);
while(1)
{
RefObj* pRefObj = new RefObj;
pRefObj->AddRef();
std::vector<RefObj*> ListRef;
ListRef.push_back(pRefObj);
pRefObj->Release();
}