2013-02-14 111 views

回答

1

shared_ptr<T>有一個轉換構造函數,允許它從shared_ptr<U>構造,如果這將是有效的,從U*轉換爲T*,鏡像如何內建指針的工作。

template<typename U> 
    shared_ptr(const shared_ptr<U>& other); 

(對於std::shared_ptr構造只能被稱爲如果U*可轉換爲T*,但boost::shared_ptr我不知道,如果它會檢查,或者你只是得到一個編譯錯誤無效轉化。)

由於T*可以轉換爲const T*,構造函數允許您從shared_ptr<T>創建shared_ptr<const T>

相關問題