爲什麼它需要兩種形式?謝謝爲什麼C++ auto_ptr有兩個拷貝構造函數和兩個賦值操作符,但是隻有一個默認構造函數?
explicit auto_ptr (T* ptr = 0) throw()
auto_ptr (auto_ptr& rhs) throw()
template<class Y>
auto_ptr (auto_ptr<Y>& rhs) throw()
auto_ptr& operator= (auto_ptr& rhs) throw()
template<class Y>
auto_ptr& operator= (auto_ptr<Y>& rhs) throw()
繼承是一個使用模板的更好的例子,但它也適用於cv差異。 – 2010-11-29 19:18:06
@Fred,是的,繼承是比較常見的情況,但是不太簡潔的例子。 – Eclipse 2010-11-29 19:19:43