在C++中,智能指针是一种对象,它可以存储指向动态分配内存的指针,并在不再需要时自动释放内存
#include <iostream>
#include <memory> // 包含智能指针的头文件
int main() {
// 使用std::make_unique创建一个动态分配的整数
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
创建了一个动态分配的整数。std::unique_ptr
是一个智能指针,它可以确保在不再需要时自动释放内存。我们还展示了如何使用get()
方法获取智能指针指向的内存地址,以及使用*
操作符获取该地址处的值。当ptr
离开作用域时,它会自动释放指向的内存。