温馨提示×

C++智能指针如何进行动态分配

c++
小樊
81
2024-11-08 21:42:21
栏目: 编程语言

在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离开作用域时,它会自动释放指向的内存。

0