C 指標的新需求

2021-04-20 09:26:54 字數 889 閱讀 8336

指標使用中的根本問題:

1. 記憶體洩漏;

2. 野指標(指標指向已經被無效的記憶體上);

尤其是當多個指標指向同乙個記憶體區域的時候, 哪個指標來負責析構, 是最頭疼的事情了.

針對這種情況, 應該先引出指標的所有權問題:

指標指向的記憶體誰來釋放, 誰就是擁有所有權.

分三類情況:

1. 乙個指標有清晰的所有權;

2. 幾個指標共有所有權;

3. 一些指標只有引用權;

共享所有權指標的需求:

vishareptr m_sp1 = new viobj;

m_sp2 = m_sp1;

m_sp1 = null;//! 因為有其他人享有這個所有權, 所以不能執行析構

m_sp2;//! 還是有效的

m_sp2 = null;//! 執行析構

實現方式: 引用計數器

引用型指標

viownptr m_op = new viobj;//! 所有權指標

virefptr m_rp = m_op;//! 引用指標

delete m_op;

assert(m_rp == null);//! 物件析構之後, 所有引用指標置空;

實現方式: 引用列表

tip:

指標命名:

1. _rp_ 引用指標

2. _op_ 所有權指標

3. _sp_ 共享指標

引用型指標的使用範圍:

**物件;

訊息物件;

持有指標狀態判斷;

[author: yisa 意帥]

新部落格需求

一.背景 之前的部落格是用的蘑菇部落格,微服務的,但是自己的雲伺服器配置是最低的那種,經常日誌檔案過大佔滿硬碟空間,所以後來用了,但是用了一段時間,我覺得對於我來說,功能不是很友好,首先沒有文章搜尋,其次是瀏覽文章需要翻頁,我已經習慣了一直往下滑,到底後再載入.所以我就想重新搭建乙個部落格.二.目前...

新挑戰 新架構下的資料保護新需求

談到資料保護,人們更多的想到it系統宕機 資料丟失等等,然後通過備份軟體 災備系統 恢復軟體 雙活等系統的歸檔 備份 快照 複製 連續可用等功能來實現資料保護。但是今天一方面網際網路快速發展,一方面it基礎設施也在發生很大的公升級。網際網路的發展讓企業的資料安全更多的面臨網路攻等新的挑戰,而it架構...

如何面對新需求

在工作中,老大突然給你了乙個需求 bug也算在內 這時應該三思而後行,將問題想明白了在動手,否則後患無窮。這些道理非常簡單,每個碼農都知曉,但是在真正的工作中卻往往容易被忽略 理解需求 需求不應該僅僅是按部就班的翻譯成 而是要真正的理解需求,對於資料庫系統來說,要理解每個語意的合理性,以及在我們當前...