Can you summarize the following document?
        
  

  codice_1這個類別模板被定義在ISO/IEC 14882的第20.4.5章節裡:

  C++11中提供了,定義在標頭檔案中。  C++11新增了move語義,相比copy語義,它能更好的實現值傳遞.使用的是copy語義,為了向後相容,C++11沒有修改std::auto_ptr,而是引入了新的使用move語義的.  uniqu_ptr的拷貝建構函式和賦值運算子都宣告為deleted,也就是說它不能被拷貝,只能通過來轉遞它所指向的記憶體的所有權。  依然存在,但在C++11中被標為"棄用".

  基於Boost庫, C++11加入了和.它們最早在TR1中就被引入,但在C++11中,在Boost的基礎上又加入了新的功能。  使用引用計數。每一個的拷貝都指向相同的記憶體。在最後一個析構的時候,記憶體才會被釋放。  使用引用計數,所以有迴圈計數的問題。為了打破迴圈,可以使用.顧名思義, weak_ptr是一個弱引用,只引用,不計數。如果一塊記憶體被shared_ptr和weak_ptr同時引用,當所有shared_ptr析構了之後,不管還有沒有weak_ptr引用該記憶體,記憶體也會被釋放。所以不保證它指向的記憶體一定是有效的,在使用之前需要檢查。
智慧指標(英語:Smart pointer)是一種抽象的資料型別。在程式設計中,它通常是經由類别範本來實作,藉由模板來達成泛型,藉由類別的解構函式來達成自動釋放指標所指向的記憶體或物件。