我剛剛完成Koenig & Moo的加速C++和章13 & 14他們提出了一些Handle類(簡單的,共享的,引用計數)的想法和實現。手柄與智能指針相同嗎?
這些類包圍了一個原始指針,並將動態對象的分配/釋放從客戶端代碼中抽離出來,以避免原始指針的所有危險,並允許用戶取消引用它們以訪問指向的對象。基本上是一種'更安全'的方式來與原始內存資源進行交互。
這些章節中介紹的類是否基本實現了智能指針?智能指針對我來說還是很新的,但從我瞭解的這些Handle類執行相同的功能。
- 這兩者之間有區別嗎?或者它只是同一事物的另一個名稱?
- 假設它們在功能上是等價的,實際上這樣的類會永遠是從頭開始編寫的,而不是使用已經制作好的智能指針解決方案嗎?
編輯
我要補充的是,他們在這些章節開發類是模板類,因此他們不會綁定到特定的資源,如它們不是設計,例如特定的文件句柄類。
第一個代碼片段here 7.1中的代碼幾乎就是我所指的章節中的代碼。
謝謝!特別欣賞最後兩個問答。我在那個階段,我覺得我不再是新手了,但我錯過了那種具有經驗的更高層次,設計選擇/哲學洞察力。 乾杯。 – MTLPhil 2010-08-02 16:30:38