15 C 析構函式與變數生命週期

2021-09-13 11:51:31 字數 1647 閱讀 7662

建構函式負責初始化物件 並分配資源,析構函式用於抹除資料並釋放資源

#include 

#include

using namespace std;

class

store

~store

(void

)char *p_mem;};

int main

(void

) cout <<

"main函式出口"

<< endl;

return0;

}

函式傳參為物件

#include 

#include

#include

using namespace std;

class

store

store

(store const

& that)~

store

(void

)char *p_mem;};

void

fool

(store st

)store barn

(void

)int main

(void

)

型別轉換 匿名物件的構造與析構

#include 

#include

#include

using namespace std;

class

store

store& operator=

(store const

& that)

store

(size_t size

)store

(store const

& that)~

store

(void

)char *p_mem;};

int main

(void

)

具有靜態生命週期的物件在main函式執行前被構造,在main函式結束後析構

#include 

#include

#include

using namespace std;

class

store

~store

(void

) store& operator=

(store const

& that)

store

(store const

& that

)char *p_mem;};

store st1;

store st2 = st1;

store st3

(st1)

;int main

(void

)/* log:

我是建構函式,負責分配100位元組記憶體

我是拷貝建構函式,用於資源複製

我是拷貝建構函式,用於資源複製

main函式入口

我是析構函式,負責銷毀為物件分配的記憶體

我是析構函式,負責銷毀�物件分配的記憶體

我是析構函式,負責銷毀為物件分配的記憶體

*/

初始化變數與函式生命週期的關係及析構函式的執行時機

想實現輸入兩個值,經過乙個函式什麼都不改變,然後,輸出出來,但發現,中間竟然把原來輸入進去的值給改變了!讓我一頓好找。錯誤 include using namespace std class location location int getx int gety private int x,y vo...

析構函式與變數的生存週期

這篇介紹了析構函式,是我的讀書筆記,我希望它夠簡短但又比較全面,起到複習的作用。如果有一些c 知識記不清楚了,它可以幫你很快回憶起來。析構函式 destructor 的名字與類名相同,但是前面要加 析構函式沒有引數和返回值,當然也就不能被過載。析構函式在物件消亡時自動呼叫,這是都了解的情況,但是實際...

c變數的生命週期

內部變數 生命週期 函式結束時結束.作用域 宣告的花括號中.儲存區域 棧記憶體區域.不會自動初始化.但會申請空間.外部變數 生命週期 和程式的生命週期一樣.作用域 程式的所以地方做可以使用,但需要使用extren進行宣告.儲存區域 在全域性區域.自動初始化.並生命自身的儲存空間.內部靜態變數 生命週...