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