小測試:boost之shared_ptr在容器類std::list中的使用

一個小測試:在std::list容器中使用shared_ptr,演示了對象的添加與刪除的多種方式:通過原始指針(raw pointer)、智能指針(smart pointer)、迭代器(iterator)、boost::enable_shared_from_this等。例子中的代碼只做演示用,實際使用時只用其中的部分做法即可,視應用程序的需要而定。在VS2005及boost_1_37_0下編譯運行通過。

 

 

簡要說明:

  • #1、有重複刪除問題,解決的方法是#3,需配合boost::enable_shared_from_this.
  • #2、尚未使用shared_ptr,還不能從內部的weak_ptr獲取shared_ptr。
  • #3、解決了問題#1

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章