第六十一課 智慧型指標類模板 狄泰軟體學院

2021-09-28 10:30:05 字數 1497 閱讀 5277

一、智慧型指標的意義

現代c++開發庫中最重要的類模板之一

c++中自動記憶體管理的主要手段

能夠在很大程度上避開記憶體相關的問題

stl中的智慧型指標auto_ptr

生命週期結束時,銷毀指向的記憶體空間

不能指向堆陣列,只能指向堆物件(變數)

一片堆空間只屬於乙個智慧型指標物件

多個智慧型指標物件不能指向同一片堆空間

例項分析1:auto_ptr使用初探

#include

#include

#include

using

namespace std;

class

test

void

print()

~test()

};intmain()

hello, d.t.software.

//建構函式列印

i'm d.t.software.

//成員函式列印

goodbye, d.t.software.

//析構函式列印

//我們並沒有手動去釋放,智慧型指標智慧型釋放。

#include

#include

#include

using

namespace std;

class

test

void

print()

~test()

};intmain()

例項分析:建立智慧型指標類模板

#ifndef _smartpointer_h_

#define _smartpointer_h_

template

<

typename t >

class

smartpointer

smartpointer

(const smartpointer

& obj)

smartpointer

&operator=(

const smartpointer

& obj)

return

*this;}

t*operator

->()

t&operator*(

)bool

isnull()

t*get()~

smartpointer()

};#endif

#include

#include

#include

"smartpointer.h"

using

namespace std;

class

test

void

print()

~test()

};intmain()

leecode第六十一題(旋轉鍊錶)

計算並得到新的頭節點之前的那個節點 node node next if node next null 若這個節點是原尾節點,直接返回原陣列 return head listnode new head node next 若不是,幹三件事,第一得到新的頭結點 node next null 第二把新頭結...

171225 C 第一章複習 連續第六十一天

此次複習發現一些問題對於連等的不等式不可以書寫,應將此不等式進行拆分書寫 在輸出語句中要學會注意插入符和其他運算子的優先順序,若插入符的優先順序低於運算子時正確,反之錯誤 下面是幾個練習 1.輸入平面上某點橫座標x和縱座標y,若該點在如圖1.11所示的方塊區域內,則輸出true 否則,輸出false...

OpenCV Python 高動態範圍 六十一

作者 opencv python tutorials 編譯 vincent opencv python tutorials 在本章中,我們將 高動態範圍成像 hdri或hdr 是一種用於成像和攝影的技術,可以比標準數字成像或攝影技術重現更大的動態亮度範圍。雖然人眼可以適應各種光照條件,但是大多數成像...