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

Hello! 歡迎來到小浪云!


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


avatar
小浪云 2025-04-10 44

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

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

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

  1. std::unique_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::unique_ptr<MyClass> ptr(new MyClass());     // 使用ptr     // ptr離開作用域時,MyClass對象自動銷毀 }
  1. std::shared_ptr: 允許多個指針共享同一對象的所有權。當最后一個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管理的對象,但不增加對象的引用計數。用于解決循環引用問題。
#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對象自動銷毀,避免循環引用 }

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

相關閱讀

主站蜘蛛池模板: 夜夜干夜夜操 | 成人亚洲精品久久久久软件 | 国产美女福利在线观看 | 色播久久 | 国产精品成人一区二区三区 | 日日操操 | 久久久福利 | 国产欧美一区二区三区在线看 | 亚洲一区国产精品 | 午夜精品久久久久久久久久久久久 | 国产成人高清 | 中文字幕 国产精品 | 欧美国产视频 | 国产1区2区3区 | 精品久久久久久亚洲精品 | 国产a级毛片 | 亚洲精品久久久久久久久久久 | 韩日一区二区 | 天天看天天干 | 操视频网站| 精久久| 欧美午夜一区二区三区免费大片 | 精品欧美一区二区三区免费观看 | 亚洲一区欧美 | 国产成人精品一区二 | 免费一区二区三区 | 亚洲一区二区三区视频 | 精品亚洲永久免费精品 | 亚洲一区二区视频 | 99亚洲精品 | 亚洲一区二区三区四区五区午夜 | 亚洲综合国产精品 | 99re6在线视频精品免费 | 一区二区在线观看免费视频 | 国产一级片在线观看视频 | 日日爱夜夜操 | 亚洲欧美在线免费观看 | 欧美日韩高清一区 | 久久久国产一区二区三区 | 午夜一区二区三区在线观看 | 国产福利精品一区 |