c++

c++怎么实现智能指针

小亿
85
2024-01-12 23:24:22
栏目: 编程语言
C++开发者专用服务器,限时0元免费领! 查看>>

在C++中,可以使用std::shared_ptr和std::unique_ptr来实现智能指针。这两个智能指针类都在头文件中定义。

  1. 使用std::shared_ptr: std::shared_ptr是一种引用计数智能指针,可以在不同的地方共享同一个对象。当最后一个std::shared_ptr超出作用域时,对象会被自动销毁。

    示例代码:

    #include <memory>
    
    int main() {
        std::shared_ptr<int> ptr(new int(5));
        *ptr = 10;
        std::cout << *ptr << std::endl;
        return 0;
    }
    
  2. 使用std::unique_ptr: std::unique_ptr是一种独占智能指针,保证只有一个指针可以指向该对象。当std::unique_ptr超出作用域时,对象会被自动销毁。

    示例代码:

    #include <memory>
    
    int main() {
        std::unique_ptr<int> ptr(new int(5));
        *ptr = 10;
        std::cout << *ptr << std::endl;
        return 0;
    }
    

这些智能指针类可以自动进行内存管理,无需手动释放资源,从而有效地避免内存泄漏等问题。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:c++智能指针怎么实现

0
看了该问题的人还看了