使用get方法可以取出智能指针中的原始指针:
std::shared_ptr<int> sp = std::make_shared<int>(10)
int *pRaw = sp.get();
但取出的原始指针,可能被释放,因此使用这个指针是不安全的,如在不同线程中,应该对该指针做加锁保护,或者以weak_ptr取代原始指针,例:https://www.jianshu.com/p/661b79cde7c7
使用get方法可以取出智能指针中的原始指针:
std::shared_ptr<int> sp = std::make_shared<int>(10)
int *pRaw = sp.get();
但取出的原始指针,可能被释放,因此使用这个指针是不安全的,如在不同线程中,应该对该指针做加锁保护,或者以weak_ptr取代原始指针,例:https://www.jianshu.com/p/661b79cde7c7
本文标题:从智能指针std::shared_ptr中取出原始指针
本文链接:https://www.haomeiwen.com/subject/atnctctx.html
网友评论