【发布时间】:2010-07-22 04:19:50
【问题描述】:
曾经与我共事的人说 shared_ptr 是不安全的,并且在从派生类转换为基类时会切片(即向上转换)。例如,如果有 2 个类 A 和 B,其中 B 派生自 A,则
shared_ptr<A> a(new B)
会切片。我指给他http://www.boost.org/doc/libs/1_43_0/libs/smart_ptr/shared_ptr.htm 它说的地方
只要
T*可以隐式转换为U*,shared_ptr<T>就可以隐式转换为shared_ptr<U>。
暗示在这些情况下使用它是安全的,但他似乎不这么认为。
【问题讨论】:
标签: c++ shared-ptr