0
可以通過引用從dynamic_pointer_cast
獲取返回值還是可以導致問題?通過參考dynamic_pointer_cast獲取shared_ptr
struct A
{
};
struct B : public A
{
};
int main()
{
shared_ptr<A> b = make_shared<B>();
auto &a = dynamic_pointer_cast<A>(b);
//auto a = dynamic_pointer_cast<A>(b);
return 0;
}
問題是:你爲什麼要*得到一個參考? –
所以參考計數器不會增加 – Merni
這會破壞使用智能指針的目的,因爲您會引入懸空參考的可能性。 – rubenvb