delete類的物件錯誤。。。

2021-05-23 05:34:25 字數 440 閱讀 2598

問題:

上個類中,在

m_pmodframelist1 = new cmodframe[100];

m_pmodframelist2 = new cmodframe[100];

最後if (m_pmodframelist1!=null)//m_pmodframelist2是m_pmodframelist1的拷貝(即內容一樣,位址不同)

delete m_pmodframelist1;

if (m_pmodframelist2!=null)   

delete m_pmodframelist2;

時,第二個delete會提出cstrring的錯誤,而類中int char型卻沒有出現類似錯誤,很奇怪,不知是何原因?另外類中的類指標m_pdevice指向的device物件並不會被delete,不用擔心!可以在析構函式中將m_pdevice置為null

delete基類指標能不能釋放子類物件

include class a a class b public a b int main 執行結果 ab a基類析構函式加上virtual再試試 include class a virtual a class b public a b int main 執行結果 ab b a 如果基類的析構函式不...

qt物件銷毀過程delete

在c 中學習過程中,我們都知道 qt作為c 的庫,顯然是不會違背c 的前述原則的。可是 注 本文暫不涉及智慧型指標 smart pointer 相關的東西,你可以考慮 qt 智慧型指標學習 一文 在qt中,以下情況下你new出的物件你可以不用親自去delete 但你應該清楚delete在何處被qt呼...

C 之物件的new與delete

這裡單獨說一點對於類物件的new和delete中到底開闢的是哪段空間,釋放的是哪段空間。還是一樣舉個例子 class a a int main 構造器和析構器就不用說了,顯然構造器中的new是為str開闢了一段100位元組空間,析構器中delete釋放的也是為str的那100位元組大小的空間。那麼m...