C 22 物件的銷毀

2021-09-13 01:41:29 字數 1131 閱讀 5190

問題: c++ 中如何清理需要銷毀的物件呢?

class test

; void free()

;};

c++ 編譯器是否能夠自動呼叫某個特殊的函式進行物件的清理呢?

定義:classname()

#include class test

~test()

};test t3(3);

int main()

輸出:

test(int i), i = 3

test(int i), i = 1

test(int i), i = 2

~test(), i = 2

~test(), i = 1

~test(), i = 3

intarray.h

#ifndef _intarray_h_

#define _intarray_h_

class intarray

;#endif

intarray.cpp

#include "intarray.h"

intarray::intarray(int len)

return ret;

}bool intarray::set(int index, int value)

return ret;

}intarray::~intarray()

main.cpp

#include #include "intarray.h"

int main()

{ intarray a(5);

for(int i=0; i當類中定義了建構函式,並且建構函式中使用了系統資源(如:記憶體申請,檔案開啟,等),則需要自定義析構函式。

22 物件的銷毀

注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 4.4.5 一 物件的銷毀 1 生活中的物件都是被初始化後才上市的 2 生活中的物件被銷毀前會做一些清理工作 問題 c 中的如何清理需要銷毀的物件 3 一般而言,需要銷毀的物件都應該清理 ...

C 深度解析 14 物件的銷毀

1.物件的銷毀 class test void free c 編譯器是否能夠自動呼叫某個特殊的函式進行物件的清理?2.析構函式 定義 classname include class test test void run int main 3.陣列類的進化 ifndef array h define ...

c 物件模型探索2 2 物件結構的發展和演化

一 非靜態成員變數 普通成員變數 跟著類的物件走 存在物件內部 也就是每個類物件都有自己的成員變數。include using namespace std class a 類物件所佔的空間 記憶體位址 64 00 00 00 這四個位元組即為 物件aobj的記憶體位址,十六進製制 64 轉化為十進位...