適合具備 C 語言基礎(chǔ)的 C 教程(十五)
時間:2021-08-19 15:49:33
手機(jī)看文章
掃描二維碼
隨時隨地手機(jī)看文章
[導(dǎo)讀]前言在上一則教程中,敘述了當(dāng)處于多線程環(huán)境下時,智能指針?biāo)赶虻囊糜嫈?shù)可能會因為此導(dǎo)致引用計數(shù)出問題,因此,引入了原子操作的相關(guān)概念,換句話說,這種操作也被稱之為是輕量級指針,那對于這種輕量型指針又會存在什么問題呢?本節(jié)內(nèi)容將著重敘述這個問題。另外需要注意的是,關(guān)于最近幾次的內(nèi)...
前言
在上一則教程中,敘述了當(dāng)處于多線程環(huán)境下時,智能指針?biāo)赶虻囊糜嫈?shù)可能會因為此導(dǎo)致引用計數(shù)出問題,因此,引入了原子操作的相關(guān)概念,換句話說,這種操作也被稱之為是輕量級指針,那對于這種輕量型指針又會存在什么問題呢?本節(jié)內(nèi)容將著重敘述這個問題。另外需要注意的是,關(guān)于最近幾次的內(nèi)容互相之間都是息息相關(guān)的,需要結(jié)合上下文進(jìn)行理解,同時,因為涉及到的代碼比較多,如果哪里沒有說明白的地方,需要下載對應(yīng)的源代碼進(jìn)行對照分析。好了,接下來,進(jìn)入本次內(nèi)容的分享。強(qiáng)指針
在說明強(qiáng)指針這個概念之前,我們先從代碼的角度慢慢分析,首先,假設(shè),我們現(xiàn)在有如下兩個智能指針:Person
類代碼:class?Person?:?public?LightRefBase
{
private:
????sp?father;
????sp?son;
public:
????Person()
????{
????????cout?<"Person()"?<endl;
????}
????~Person()
????{
????????cout?<"~Person()"?<endl;
????}
????void?setFather(sp?