智慧指標

C++不是一種記憶體管理語言。動態分配的記憶體(即使用 new 建立的物件)如果未明確解除分配(使用 delete)將洩露。程式設計師有責任確保在丟棄指向該物件的最後一個指標之前釋放動態分配的記憶體。

智慧指標可用於自動管理動態分配的記憶體範圍(即,當最後一個指標引用超出範圍時,它將被刪除)。

在大多數情況下,智慧指標優於原始指標。它們通過在名稱中傳遞物件是要共享還是唯一擁有,使動態分配的記憶體的所有權語義顯式化。

使用 #include <memory> 可以使用智慧指標。