什么是智能指针,什么时候应该使用?

什么是智能指针,什么时候应该使用?

哈士奇WWW
浏览 1217回答 3
3回答

阿波罗的战车

智能指针是类似指针的类型,具有一些附加功能,例如自动内存释放,引用计数等。小型介绍可在页面上找到智能指针 - 什么,为什么,哪个?。其中一个简单的智能指针类型是std::auto_ptr(C ++标准的第20.4.5节),它允许在超出范围时自动释放内存,并且在抛出异常时比简单指针使用更强大,尽管灵活性较低。另一个方便的类型是boost::shared_ptr实现引用计数,并在没有对象的引用时自动释放内存。这有助于避免内存泄漏,并且易于使用来实现RAII。题目在David Vandevoorde,Nicolai M. Josuttis,第20章,智能指针的书“C ++模板:完整指南”中有详细介绍。涉及的一些主题:防范异常持有者,(注意,std :: auto_ptr是这种智能指针的实现)资源获取是初始化(这经常用于C ++中的异常安全资源管理)持有人限制参考计数并发计数器访问破坏和解除分配
打开App,查看更多内容
随时随地看视频慕课网APP