weak_ptr是一种弱引用智能指针,它指向一个被shared_ptr管理的对象,但不会增加引用计数。weak_ptr通常用于防止循环引用,当所有的shared_ptr释放后,weak_ptr会自动失效。 3. 智能指针get函数的作用 在使用智能指针时,我们有时需要获取原始指针以进行与智能指针无关的操作。这时候可以使用智能指针的get函数来获取原始指...
get函数是智能指针中一个非常重要的函数,它用于获取指向所管理对象的原始指针。在某些情况下,我们需要使用原始指针来访问对象或者传递给一些不接受智能指针作为参数的函数。 1. shared_ptr中的get函数 在shared_ptr中使用get函数可以获取该shared_ptr所管理对象的原始指针。例如: ``` std::shared_ptr<int> p(new ...
}voidp() { cout<< *q <<endl; }int*q; };intmain() { A*a;//声明一个普通指针{//创建一个智能指针shared_ptr<A> p(newA());//返回给普通指针a = p.get();//打印值为2a->p();//出作用域,智能指针释放,调用A析构函数}//打印值为0a->p(); }...