九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


Linux下C++如何使用智能指針


avatar
小浪云 2025-04-10 23

Linux下C++如何使用智能指針

c++智能指針有效管理動態(tài)分配內(nèi)存,避免內(nèi)存泄漏等問題。Linux下的C++開發(fā)通常借助頭文件提供的智能指針類型

本文介紹三種常用智能指針

  1. std::unique_ptr: 獨占式擁有它指向的對象,確保對象在其生命周期結(jié)束后被自動釋放。不支持復(fù)制,但支持移動語義。
#include <iostream> #include <memory>  class MyClass { public:     MyClass() { std::cout << "MyClass constructor called" << std::endl; }     ~MyClass() { std::cout << "MyClass destructor called" << std::endl; } };  int main() {     std::unique_ptr<MyClass> ptr(new MyClass());     // 使用ptr     // ptr離開作用域時,MyClass對象自動銷毀 }
  1. std::shared_ptr: 允許多個指針共享同一對象的所有權(quán)。當(dāng)最后一個shared_ptr被銷毀或重置時,對象被釋放。
#include <iostream> #include <memory>  class MyClass { public:     MyClass() { std::cout << "MyClass constructor called" << std::endl; }     ~MyClass() { std::cout << "MyClass destructor called" << std::endl; } };  int main() {     std::shared_ptr<MyClass> ptr1(new MyClass());     {         std::shared_ptr<MyClass> ptr2 = ptr1;         // ptr1和ptr2共享同一對象     } // ptr2銷毀,但MyClass對象不會立即銷毀,因為ptr1仍然存在     // ptr1銷毀時,MyClass對象才銷毀 }
  1. std::weak_ptr: 與shared_ptr配合使用,指向由shared_ptr管理的對象,但不增加對象的引用計數(shù)。用于解決循環(huán)引用問題。
#include <iostream> #include <memory>  class B; // Forward declaration  class A { public:     std::shared_ptr<B> b_ptr;     ~A() { std::cout << "A destructor called" << std::endl; } };  class B { public:     std::weak_ptr<A> a_ptr;     ~B() { std::cout << "B destructor called" << std::endl; } };  int main() {     std::shared_ptr<A> a(new A());     std::shared_ptr<B> b(new B());     a->b_ptr = b;     b->a_ptr = a;     // a和b銷毀時,A和B對象自動銷毀,避免循環(huán)引用 }

選擇智能指針類型需根據(jù)實際情況:unique_ptr適合單一所有權(quán)場景;shared_ptr適合共享所有權(quán)場景;weak_ptr則用于避免shared_ptr帶來的循環(huán)引用問題。

相關(guān)閱讀

主站蜘蛛池模板: 精品一区二区观看 | 精品国产aⅴ | 日日干日日 | 午夜视频一区二区三区 | 亚洲综合区 | 久久精品国产一区二区 | 黄色网址在线免费观看 | 一区二区三区四区在线 | 嫩草黄色影院 | 麻豆av在线免费观看 | 国产精品爱久久久久久久 | 久久91精品 | 色播久久久 | 色五月激情五月 | 亚洲精品一区中文字幕乱码 | 亚洲乱码国产乱码精品精的特点 | 亚洲精选一区二区 | 日韩高清成人 | 欧美一级毛片久久99精品蜜桃 | 午夜精品一区二区三区在线观看 | 精品久久香蕉国产线看观看亚洲 | 日韩一区二区三区在线视频 | 精品国产精品一区二区夜夜嗨 | 欧美一区二区三区在线观看视频 | 亚洲一区二区在线视频 | 国产91一区二区三区 | 日韩免费激情视频 | 91精品国产综合久久久久久首页 | 成人精品一区二区 | 91在线第一页 | 亚洲乱码一区二区三区在线观看 | 欧美日产国产成人免费图片 | 欧美在线观看一区二区 | 亚洲免费视频在线观看 | 国产欧美一区二区三区在线看 | 成人一区二区三区 | 日韩一区二区在线播放 | 国产精品2 | 中文字幕成人 | 一区二区三区在线免费 | 欧美v片|