在C++中,智能指針是一種對象,它可以存儲指向動態(tài)分配內存的指針,并在不再需要時自動釋放內存
#include <iostream>
#include <memory> // 包含智能指針的頭文件
int main() {
// 使用std::make_unique創(chuàng)建一個動態(tài)分配的整數
std::unique_ptr<int> ptr = std::make_unique<int>(42);
// 輸出智能指針指向的內存地址
std::cout << "Memory address: " << ptr.get() << std::endl;
// 輸出智能指針指向的值
std::cout << "Value: " << *ptr << std::endl;
// 當智能指針離開作用域時,它會自動釋放指向的內存
return 0;
}
在這個例子中,我們使用std::make_unique
創(chuàng)建了一個動態(tài)分配的整數。std::unique_ptr
是一個智能指針,它可以確保在不再需要時自動釋放內存。我們還展示了如何使用get()
方法獲取智能指針指向的內存地址,以及使用*
操作符獲取該地址處的值。當ptr
離開作用域時,它會自動釋放指向的內存。