2013-02-14 67 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>

相关问题