C++之智能指针std::shared_ptr简单使用和理解
前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程
1 智能指針std::shared_ptr相關(guān)知識(shí)和如何使用
我們這里先說(shuō)下智能指針std::shared_ptr,因?yàn)槲铱吹轿椅覀冺?xiàng)目c++代碼里面用得很多,我不是不會(huì),所以記錄學(xué)習(xí)下
先讓ubuntu終端支持c++11,如果自己的電腦還沒(méi)配置號(hào),可以先看下我的這篇博客linux之讓終端支持C++11/14編譯cpp文件
1) 所在的頭文件
#include <memory>
2) 介紹:
shared_ptr是一種智能指針(smart pointer),作用有如同指針,但會(huì)記錄有多少個(gè)shared_ptrs共同指向一個(gè)對(duì)象。這便是所謂的引用計(jì)數(shù)(reference counting),比如我們把只能指針賦值給另外一個(gè)對(duì)象,那么對(duì)象多了一個(gè)智能指針指向它,所以這個(gè)時(shí)候引用計(jì)數(shù)會(huì)增加一個(gè),我們可以用shared_ptr.use_count()函數(shù)查看這個(gè)智能指針的引用計(jì)數(shù),一旦最后一個(gè)這樣的指針被銷(xiāo)毀,也就是一旦某個(gè)對(duì)象的引用計(jì)數(shù)變?yōu)?,這個(gè)對(duì)象會(huì)被自動(dòng)刪除,當(dāng)我們程序結(jié)束進(jìn)行return的時(shí)候,智能指針的引用計(jì)數(shù)會(huì)減1,不知道我理解有沒(méi)有問(wèn)題.有的話請(qǐng)老鐵們指出.
3) share_ptr的三種初始化方法
1
總結(jié)
以上是生活随笔為你收集整理的C++之智能指针std::shared_ptr简单使用和理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux之让终端支持C++11/14编
- 下一篇: C++编译之提示ld: can‘t op