C++名家精華.chm
我們用早期的C++語(yǔ)言編程。工作的第二天中午,厭煩了讀職工手冊(cè),于是我寫(xiě)了一個(gè)工具類(lèi),里面包含一個(gè)原始指針作為成員變量:
#include "xStruct.h" // definition of struct X
class xWrapper
{
X* xItem
public:
xWrapper() : xItem(new X) { }
~xWrapper() { delete xItem }
void dump() { /* dumps xItem to cout */ }
}
當(dāng)然了,使用這個(gè)類(lèi)的程序由于內(nèi)存問(wèn)題總是時(shí)不時(shí)的崩潰,因?yàn)槲疫`反三個(gè)重要設(shè)計(jì)原則之一:任何時(shí)候,只要你提供了析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)或賦值運(yùn)算符中的一個(gè),你通常需要三個(gè)都提供。([1]) “所以,”我自言自語(yǔ)道,“我必須自己處理拷貝和賦值問(wèn)題。簡(jiǎn)單地...auto_ptr有拷貝構(gòu)造函數(shù)和賦值運(yùn)算符,我可以拿過(guò)來(lái)用一下。”(你知道早期C++程序庫(kù)中的auto_ptr,是嗎?)
標(biāo)簽:
chm
家
語(yǔ)言編程
上傳時(shí)間:
2013-12-28
上傳用戶:Amygdala