一、基本概念
智能指针解决了资源生存期管理的问题(尤其是动态分配的对象)
• 使用shared_ptr进行对象的生存期自动管理,使得分享资源所有权变得有效且安全。
(shared是boost最智能的智能指针,可以支持那些不是使用delete进行析构的资源)
• 使用weak_ptr可以安全地观测共享资源,避免了悬挂的指针。
• 使用scoped_ptr 和 scoped_array限制资源的使用范围,使得代码更易于编写和维护,并有助于写出异常安全的代码。
使用智能指针的三个场景:
1、资源所有权的共享
2、要编写异常安全的代码时
3、避免常见的错误,如资源泄露