C 深度解析 27 智慧型指標分析

2021-09-25 10:54:28 字數 890 閱讀 5405

1.永恆的話題

2.程式設計實驗

#include#includeusing namespace std;

class test

int value()

~test() };

int main()

system("pause");

return 0;

}

3.深度的思考

4.智慧型指標分析

#include#includeusing namespace std;

class test

int value()

~test() };

// 定義智慧型指標

class pointer // 建立乙個物件,通過物件實現指標的功能,也叫做「智慧型指標」

pointer(const pointer &obj) // 拷貝建構函式

// 過載 =

pointer& operator=(const pointer &obj)

return *this; // 返回引用可以連續賦值,不會生成臨時變數。 }

// 過載 ->

test* operator->() // 不能使用引數,所以也就只能定義乙個過載函式

// 過載 *

test& operator*()

bool isnull()

~pointer() };

int main()

5.小結

27 C 智慧型指標

智慧型指標 stl中的智慧型指標auto ptr 標頭檔案 auto ptr ap1 new int 1 初始化正確,建立ap1類模板物件,使類模板裡的指標為int 型,並指向1的位址 int p new int 1 auto ptr ap2 p 初始化正確 auto ptrap3 new int ...

智慧型指標分析

在我們寫 時,經常會忘記釋放掉動態開闢出來的記憶體,或者在我們的程式中,new和delete中間有如 throw goto return break 這樣引起執行流改變的語句時,就會造成沒有釋放資源,造成記憶體洩漏。void test1 t operator 注意函式返回值型別 上面說了智慧型指標是...

智慧型指標及其解析

1.智慧型指標 智慧型指標就是智慧型的 自動化的管理指標所指向的動態資源的釋放,並且可以如同指標一樣使用。智慧型指標是rall 初始化立即獲取資源 思想的一種實現,其中初始化利用建構函式,之後將資源儲存起來最後讓析構函式自動清理。2.引入智慧型指標原因 總的來說,是防止程式執行流的改變 或者人為因素...