建構函式負責初始化物件 並分配資源,析構函式用於抹除資料並釋放資源
#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進行宣告.儲存區域 在全域性區域.自動初始化.並生命自身的儲存空間.內部靜態變數 生命週...