在使用智能指针时,我们有时需要获取原始指针以进行与智能指针无关的操作。这时候可以使用智能指针的get函数来获取原始指针。 get函数是一个非成员函数,用于返回智能指针中保存的原始指针。通过get函数获取的原始指针无法进行自动释放,需要手动释放资源。因此,我们应该谨慎使用get函数,并确保手动释放资源以避免内存泄露。 4...
get函数是智能指针中一个非常重要的函数,它用于获取指向所管理对象的原始指针。在某些情况下,我们需要使用原始指针来访问对象或者传递给一些不接受智能指针作为参数的函数。 1. shared_ptr中的get函数 在shared_ptr中使用get函数可以获取该shared_ptr所管理对象的原始指针。例如: ``` std::shared_ptr<int> p(new ...
}int*q; };intmain() { A*a;//声明一个普通指针{//创建一个智能指针shared_ptr<A> p(newA());//返回给普通指针a = p.get();//打印值为2a->p();//出作用域,智能指针释放,调用A析构函数}//打印值为0a->p(); }