工程实践:到底要不要使用智能指针
前言
写了很久的“C with class”,在接触到智能指针的时候,都有点欣喜若狂了,想的是,这下子不用再为new/delete头疼了,也不用担心内存泄漏了,但事实证明我太天真了。
之前也学过modern cpp,甚至还总结过智能指针,但是看来没有实际的操作,空想还是太虚了!
本文仅作新手经验所记,必不全面
我最想探讨的问题就是什么时候该用智能指针,该用什么智能指针,有没有什么需要注意的地方。
从需求开始探讨问题
这个需求是我根据经验虚拟的。
class object
{
pulic:
int test =1;
}
bool get_object(object** p1)
{
object* p2=new object();
p2->test=3;
*p1=p2;
}
int main()
{
object * pobject;
get_object(&pobject);
delete pobject;
return

本文探讨了在C++中使用智能指针以避免内存泄漏的问题,重点关注了unique_ptr和shared_ptr的使用场景。文章讨论了何时选择unique_ptr作为独占所有权的解决方案,以及在需要共享所有权时使用shared_ptr的注意事项,如线程安全和效率问题。同时提醒开发者避免智能指针的常见陷阱,如多个shared_ptr管理同一资源导致的内存问题。
最低0.47元/天 解锁文章
1068

被折叠的 条评论
为什么被折叠?



