1.在堆上获取的动态资源,用户忘记delete,或者由于异常导致没有没执行到delete,都会造成资源泄漏. 2.我们知道,栈上的对象,离开作用域,必定要执行析构方法.即使抛出异常,会堆栈回滚,保证已经构造的对象进行析构. 3.因此,可以使用栈上的对象,管理资源,在析构方法中释放资源,保证不会资源泄漏. 4.考虑更一般化的资源,对于互斥体的加锁,解锁,也是同样的情况,需要保证互斥体一定会解锁. 5.对资源管理的类,就是智能指针.因此,需要对不同类型的对象进行管理,智能指针是模板类,在栈上分配,行…