1樓:匿名使用者
在類當中過載new運算子可以實現,如
bool nonew;
class a
int a;
void* operator new(unsigned int s)};這樣一來nonew就成為了
內new a(...)是否返回
容null的開關
2樓:
class a
else
}private:
a(){}
a* m_a;
}把構造來作為私有,然自後自己寫個create之類的成員函式應該就可以滿足你的要求了吧。
c++建構函式中申請空間返回null,即怎麼處理異常,怎麼返回啊
3樓:知識渴求者雙子
//像這樣bai嗎?du
#include
#include
int generalerrcode = 0;
typedef class _myclass}myclass;
int __cdecl main(int argc,char* argv)
4樓:匿名使用者
可以丟擲乙個錯誤碼,在主函式中捕獲並處理。
C 如何開闢空間,在C 中如何釋放NEW開闢的空間
你第二行申請了5個int的空間,裡面存了東西,那麼你又增加了5個空間,那麼你需要一箇中轉的指標,用新建的中轉指標開闢10個空間,然後把原有空間中的內容存到新開闢的空間中,delete掉原來申請空間,之後在讓原來指標指向新申請空間,然後將中轉指標置null。這樣就變成你所要求的內容了 這是我該的程式 ...
C 中new分配記憶體的問題,C 動態分配記憶體 記憶體洩漏問題 new
這樣是會有記憶體洩漏的,因為第一次執行s new stu 後,系統申請了一塊新的記憶體空間 型別為stu 並把其地址賦給s 第2此執行s new stu後,系統又申請了一塊新的記憶體空間,並把其地址賦給s,此時把s原來的值覆蓋掉了,也就是第一次申請的記憶體空間的地址丟失了 而delete s 只是把...
c 中,不使用new申請的儲存空間就不是連續的嗎?個人覺得new是多此一舉,要用就用int之類的申明就可以
不是多此一舉,new是動態申請,類似c語言裡的malloc函式!在程式裡面,大多數情況下我們想用內得儲存空間在編容寫的 時是不知道的,在程式執行時才清楚,這時候如果用int之類宣告陣列,陣列太小,會造成儲存空間不夠,陣列太大又會造成空間的浪費。所以new這個東西的功能就看出來了 new 關鍵字是在程...