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

溫馨提示×

C++智能指針支持哪些類型

c++
小樊
81
2024-11-08 21:30:22
欄目: 編程語言

C++智能指針支持以下幾種類型:

  1. std::unique_ptr:獨占地擁有被指向的對象,保證同一時間只有一個智能指針可以擁有某個對象的所有權。當unique_ptr超出作用域時,它會自動刪除所擁有的對象。
std::unique_ptr<int> p(new int(42));
  1. std::shared_ptr:允許多個智能指針共享同一個對象的所有權。當最后一個指向對象的shared_ptr被銷毀或超出作用域時,它會自動刪除所擁有的對象。
std::shared_ptr<int> p1(new int(42));
std::shared_ptr<int> p2 = p1; // p1 和 p2 現在共享同一個對象的所有權
  1. std::weak_ptr:是一種不擁有對象所有權的智能指針,它通過觀察shared_ptr來訪問對象。weak_ptr可以防止循環引用導致的內存泄漏。
std::shared_ptr<int> p1(new int(42));
std::weak_ptr<int> wk = p1; // 創建一個 weak_ptr,它觀察 p1
  1. std::auto_ptr:是C++98中引入的一種智能指針,用于自動管理動態分配的內存。但在C++11中已被廢棄,并在C++17中被移除,因為它存在所有權傳遞的問題。不建議使用auto_ptr,而應該使用unique_ptrshared_ptr

0
来凤县| 合山市| 滨海县| 仁化县| 福贡县| 佛冈县| 鄂伦春自治旗| 大渡口区| 迁安市| 桃源县| 临夏县| 繁昌县| 赤水市| 容城县| 静安区| 丁青县| 黔西| 多伦县| 上饶县| 连州市| 武宣县| 普洱| 读书| 海晏县| 湟中县| 周至县| 蒙山县| 建水县| 黔江区| 石首市| 全南县| 玉屏| 兴山县| 松原市| 祥云县| 永丰县| 太白县| 康保县| 肥城市| 扶绥县| 嘉峪关市|