五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

十六、C++14標(biāo)準(zhǔn)和智能指針

2023-04-04 20:51 作者:努力賺錢養(yǎng)朵朵  | 我要投稿


本章介紹C++14的新特性并介紹一下C++11之前之后的智能指針。其實(shí)C++14標(biāo)準(zhǔn)相比C++11標(biāo)準(zhǔn)就新增了一些自動推導(dǎo)的特性,比如lambda表達(dá)式參數(shù)類型推導(dǎo)、函數(shù)返回類型自動推導(dǎo);以及新增了lambda表達(dá)式的初始化捕獲。

lambda表達(dá)式參數(shù)類型推導(dǎo)

出現(xiàn)輸入較為麻煩的類型不需要再換名,直接寫成auto。例如:

函數(shù)返回類型推導(dǎo)

更改返回值類型時(shí),不再需要每次更改函數(shù)的返回類型。例如:

lambda表達(dá)式的初始化捕獲

相當(dāng)于間接傳值,避免直接傳值,并且該間接值不需要初始化。例如:

C++11之前的智能指針

C++11之前的智能指針是auto_ptr,一開始它的出現(xiàn)是為了解決指針沒有釋放導(dǎo)致的內(nèi)存泄漏。比如忘了釋放或者在釋放之前,程序throw出錯(cuò)誤,導(dǎo)致沒有釋放。所以auto_ptr在這個(gè)對象聲明周期結(jié)束之后,自動調(diào)用其析構(gòu)函數(shù)釋放掉內(nèi)存。

以上3句中,只有第3句是符合規(guī)范的。因?yàn)槠涫鞘褂胣ew定義的,會存在于堆中,而堆是允許進(jìn)行內(nèi)存操作的。而1、2句綁定在非堆的變量上,這樣在釋放時(shí)極容易出現(xiàn)錯(cuò)誤。所以千萬不要用一塊非new分配的動態(tài)內(nèi)存去初始化一個(gè)智能指針。也需要注意,auto_ptr不能夠作為函數(shù)的返回值和函數(shù)的參數(shù),也不能在容器中保存autp_ptr,導(dǎo)致使用不便。

C++11之后的智能指針

C++11之后智能指針分為了三種:shared_ptr、unique_ptr、weak_ptr。而weak_ptr相當(dāng)于shared_ptr的一個(gè)輔助指針, 所以正式的智能指針只有shared_ptr和unique_ptr。

具體用法和說明見https://blog.csdn.net/haolexiao/article/details/56773039?%3E。(我偷偷懶[]~( ̄▽ ̄)~*)

十六、C++14標(biāo)準(zhǔn)和智能指針的評論 (共 條)

分享到微博請遵守國家法律
沽源县| 阳江市| 镇赉县| 高邑县| 昭通市| 陇川县| 阳西县| 娄烦县| 芮城县| 云霄县| 交城县| 夏津县| 定兴县| 衡南县| 调兵山市| 固阳县| 罗城| 武强县| 和龙市| 甘泉县| 年辖:市辖区| 报价| 隆化县| 岳普湖县| 桦南县| 苗栗市| 鹰潭市| 麻阳| 清徐县| 黄大仙区| 榆中县| 安义县| 墨脱县| 洮南市| 汝南县| 依兰县| 克山县| 大方县| 饶阳县| 肥乡县| 嘉禾县|