日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初识boost之boost::share_ptr用法

發布時間:2025/4/9 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初识boost之boost::share_ptr用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

boost中提供了幾種智能指針方法:scoped_ptr shared_ptr intrusive_ptr weak_ptr,而標準庫中提供的智能指針為auto_ptr.?
這其中,我最喜歡,使用最多的是shared_ptr,也最讓人隨心所欲.?
使用很簡單,如下:?
頭文件 <boost/shared_ptr.hpp>?
class A?
{?
??virtual void process();?
}?
boost::shared_ptr<A> test(new A);?
boost::shared_ptr通過重載->(返回傳入的指針),test的使用就如同一個指針。其實test是一個對象。?
當發生引用時,boost::shared_ptr<A> test1 = test; test1與test共享構造的A指針,引用計算加一。當析夠發生時,計算器減一,當計數器為0,刪除內嵌指針。?

常用的boost::shared_ptr函數有:?
get() 獲取裸指針?
reset() 計數器減一?

另外,boost::shared_ptr可以方便的和std::vector配合,除了不用擔心節點的野指針等問題,還有一個比較有意思的功能。?
class B : public A?
{?
virtual void process();?
void do();?
}?
std::vector< boost::shared_ptr<A> > vect;?
boost::shared_ptr<B> node = boost::shared_ptr<B>(new B);?
vect.push_back(node);?
vect[0]->do(); //可以很方便的訪問B::do(),要知道do()并不是A的方法。?
boost::shared_ptr有個一個缺點,就是不能從this指針構造。在boost庫中,提供了一個解決方案。?
#include <boost/enable_shared_from_this.hpp>?
class C: public boost::enable_shared_from_this<C> //?
{?
}?
這個情況出現在什么時候呢,如:?
class D?
{?
public:?
void Go(boost::shared_ptr<C> &d);?
}?
而D的Go方法在C中被使用,這個時候,就需要從this指針構造C的智能指針(boost::shared_from_this()方法提供)。當然,這種方法有一個前提,那就是C在外部的形態也是智能指針。?

最后,對所有智能指針做一下簡單的介紹吧。?
auto_ptr 標準庫中的智能指針。但是會轉移所有權,如a = b時;內嵌的指針轉移到b,智能指針a訪問內嵌的指針則為空。?
scoped_ptr 與auto_ptr類似,但是不允許復制;?
intrusive_ptr是shared_ptr侵入式版本。使用情況,內部以及編寫好了自己的內部引用計算器的代碼,而又沒有時間重寫它。intrusive_ptr可以從this構造。?
weak_ptr是智能指針shared_ptr的觀察者。

轉載于:https://www.cnblogs.com/weizhixiang/p/5795555.html

總結

以上是生活随笔為你收集整理的初识boost之boost::share_ptr用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天做夜夜爽 | 日本久久成人 | 好吊操精品视频 | 国产乱码精品一区二三赶尸艳谈 | 狠狠久久 | 欧美三日本三级少妇三级99观看视频 | 啪啪免费小视频 | 国产一区二区三区黄片 | 简单av在线 | 精品国产亚洲一区二区麻豆 | 亚洲AV无码阿娇国产精品 | 黄色网址国产 | 天天色天天色 | 中文字幕一区二区三区在线观看 | 国产专区一区二区 | 欧美亚洲国产另类 | 成长快手短视频在线观看 | 成人毛片网| 黄色网址视频 | 中字幕视频在线永久在线观看免费 | 初尝黑人巨炮波多野结衣 | 在线视频久 | 日韩欧美成人一区二区 | 免费a在线观看 | 日日干夜夜撸 | 亚洲欧美另类中文字幕 | 日韩视频一区二区三区在线播放免费观看 | 91麻豆精品一二三区在线 | av之家在线 | 哺乳期给上司喂奶hd | 91精品国产一区二区三区香蕉 | 欧美成人高清视频 | 特及毛片 | 超碰天天操 | 国产精品久久久久久久久免费 | 女人扒开腿让男人桶爽 | 亚洲高清视频在线 | 四虎在线看片 | 中文字幕第22页 | 大又大粗又爽又黄少妇毛片 | 精品国产亚洲AV | 天天舔天天 | 99精品免费观看 | 国产一区a | 久久永久视频 | av免费观看网址 | 成人亚洲精品久久久久软件 | 九色蝌蚪91| 精品盗摄一区二区三区 | 亚洲精品aaaa| www毛片 | 成人免费视频一区二区三区 | 黄色av日韩 | 91福利一区 | 麻豆影视免费观看 | 精品久久久无码中文字幕 | 精品人妻大屁股白浆无码 | 色噜噜在线观看 | 国产精品区二区三区日本 | 国产18在线观看 | 加勒比成人av| 少妇激情在线 | www.蜜臀 | 五月激情站 | 在线观看国产欧美 | 国产一区二区三区精品在线 | 久在操| 第一章豪妇荡乳黄淑珍 | 免费观看污网站 | 91视频最新入口 | 亚洲国产成 | 国产一区麻豆 | 爱爱视频一区二区 | 中文字幕一区视频 | 69超碰| 国产偷人爽久久久久久老妇app | 最好看的中文字幕 | 雷电将军和丘丘人繁衍后代视频 | 国内毛片毛片毛片毛片 | 特a级黄色片 | 免费无码毛片一区二区app | 免费不卡视频 | 国产中文字幕一区 | 国产精品亲子伦对白 | 一级黄色在线观看 | sese欧美| 日韩天堂 | 久草电影在线 | 禁网站在线观看免费视频 | 黄色成年视频 | 亚洲综合在线观看视频 | 亚洲乱熟女一区二区 | 99久久免费精品 | 国产人妖在线播放 | 欧美视频www | 日日夜夜国产精品 | 天堂av.com| 国产激情啪啪 | 玖玖国产精品视频 |