C++之CNoTrackObject類和new delete操作符的重載實(shí)例
本文實(shí)例講述了C++中CNoTrackObject類和new delete操作符的重載,分享給大家供大家參考。具體如下:
頭信息:
public: //在此出過錯,沒有加public 默認(rèn)為類的私有變量,MyThreadData繼承這個類后也無法訪問成員變量
void* operator new(size_t nSize);
void operator delete(void*);
virtual ~CNoTrackObject(){}
};
實(shí)現(xiàn)方法如下:
{
//申請一塊內(nèi)存
void* p = ::GlobalAlloc(GPTR , nSize);
return p;
}
void CNoTrackObject::operator delete(void* p)
{
if (p != NULL)
{
::GlobalFree(p);
}
}
使用過程如下:
{
MyThreadData* pNext;
int nShortData;
};
for (int i=0;i<10;i++)
{
<span style="color:#ff0000;">pData = new MyThreadData;</span>
pData->nShortData = i;
list.AddHead(pData);
}
//遍歷鏈表,釋放MyThreadData對象占用的空間
pData = (MyThreadData*)list.GetHead();
while(pData != NULL)
{
MyThreadData* pNextData = pData->pNext;
printf("The value is %d\n",pData->nShortData);
<span style="color:#ff0000;">delete pData;</span>
pData = pNextData;
}
希望本文所述對大家的C++程序設(shè)計有所幫助
相關(guān)文章
stringstream操縱string的方法總結(jié)
下面小編就為大家?guī)硪黄猻tringstream操縱string的方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12詳解如何用alpine鏡像做一個最小的鏡像并運(yùn)行c++程序
這篇文章主要介紹了詳解如何用alpine鏡像做一個最小的鏡像并運(yùn)行c++程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10C++踩坑實(shí)戰(zhàn)之構(gòu)造和析構(gòu)函數(shù)
不論是構(gòu)造函數(shù),還是析構(gòu)函數(shù),都是C++、C#語言相對于其他語言而言特殊的地方,它是為了方便類中對象的初始化,這篇文章主要給大家介紹了關(guān)于C++踩坑實(shí)戰(zhàn)之構(gòu)造和析構(gòu)函數(shù)的相關(guān)資料,需要的朋友可以參考下2021-07-07C++ const的使用及this指針常方法(面試最愛問的this指針)
這篇文章主要介紹了C++ const的使用,this指針,常方法(面試最愛問的this指針),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04