C 用new例項化時返回NULL

2021-04-12 07:19:57 字數 661 閱讀 3566

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 關鍵字是在程...