中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++智能指針怎么調用

c++
小億
75
2023-11-01 10:12:48
欄目: 編程語言

在 C++ 中,智能指針通常有以下幾種使用方式:

  1. 使用 std::shared_ptr:

    #include <memory>
    int main() {
        std::shared_ptr<int> ptr = std::make_shared<int>(10);
        *ptr = 20; // 通過指針訪問對象
        std::cout << *ptr << std::endl; // 輸出 20
        return 0;
    }
    
  2. 使用 std::unique_ptr:

    #include <memory>
    int main() {
        std::unique_ptr<int> ptr = std::make_unique<int>(10);
        *ptr = 20;
        std::cout << *ptr << std::endl;
        return 0;
    }
    
  3. 使用 std::weak_ptr:

    #include <memory>
    int main() {
        std::shared_ptr<int> sharedPtr = std::make_shared<int>(10);
        std::weak_ptr<int> weakPtr = sharedPtr;
        std::cout << *weakPtr.lock() << std::endl; // 輸出 10
        sharedPtr.reset();
        if (weakPtr.expired()) {
            std::cout << "shared_ptr 已經被釋放" << std::endl;
        }
        return 0;
    }
    

需要注意的是,當使用 std::shared_ptr 時,可以通過引用計數追蹤對象的所有權,而 std::unique_ptr 則是通過獨占所有權來實現的。而 std::weak_ptr 則允許對對象進行弱引用,不會增加引用計數,也不會阻止對象被銷毀。

0
永吉县| 平顶山市| 岗巴县| 枣庄市| 固阳县| 兴化市| 旌德县| 玛曲县| 鹤庆县| 政和县| 玉门市| 屏南县| 广西| 安远县| 三原县| 高淳县| 吐鲁番市| 原阳县| 娄底市| 县级市| 宁德市| 景德镇市| 郑州市| 陆河县| 谷城县| 岚皋县| 和硕县| 阳曲县| 文化| 昌平区| 佛坪县| 昭通市| 资兴市| 宁波市| 甘肃省| 九龙坡区| 嘉鱼县| 禄劝| 乐至县| 泰州市| 遵义市|