關於C 裡面的delete問題,這樣是否會造成記憶體洩露??

時間 2021-06-02 10:58:57

1樓:Metre

不贊同樓上.

我的理解是(只是理解,其實深層的東西我也不了解)int是資料型別,new的是連續的記憶體塊,而類物件去new是不一樣的後者是需要呼叫物件的析構函式的

可以舉乙個例子

#include

class

Data1

~Data1

()};

class

Data2

~Data2

()};

intmain

()可以正常執行,輸出結果是:

Data2 Destruct called!

Data2 Destruct called!可以正常執行,但是調了Data2 的析構函式.因此在這種情況下,會發生記憶體洩漏!

另外當是資料型別去new的時候,我們也可以實驗:

#include

int main()}

2樓:白如冰

對於這個問題,不妨換個角度,不用int型,寫個例子測試下就好了#include

class Data

~Data()

{ std::cout<<"Destruct called!"<會崩潰的,斷點在operator delete函式裡面

C語言裡面的常量是什麼?

CYWVS 不可修改的值叫做常量。const int a 1 這個時候a是常量,1也是常量。類似 1 C a string 這種看起來是什麼樣,值就是什麼樣的值,叫做字面值常量。 言覃天 關鍵字 const 只是給編譯器的乙個訊號。如果你定義了const int x 1,之後又說x 2,編譯器會報錯...

關於c的問題?

CodeAllen 格式字元 i 輸出乙個整型數 d 輸出乙個整型數 ld 輸出long整數 f 輸出乙個浮點數 雙精度也是這個輸出 e 輸出乙個浮點數,科學計數法,指數形式的浮點數 g 輸出乙個浮點數,當指數小於 4或者大於5,則運用科學計數法,否則正常顯示浮點數 c 輸出乙個字元 s 對應是ch...

boost asio裡面的協程問題

zihuatanejo 這裡只說asio的stackful routine,它是通過BOOST.COROUTINE裡的非對稱協程實現的。非對稱協程很容易實現生產者 消費都模型,它可以簡單理解成乙個pull type 消費者 乙個push type 生產者 兩者都可以通過呼叫自己的operator 來...