Auto_ptr的引入,是为了解决“资源申请即初始化”的要求,它的特点在于:将一个auto_ptr对象复制给另一个时,原来的auto_ptr将不再指向任何东西。这种复制可以称作“破坏性复制”。不了解JAVA,但是觉得它应该类似与JAVA等语言中的内存自动回收机制,但是这种自动指针完全来源于编码上实现,通过构造一个特殊的类模板,而不是语言自身的功能完成。
但是为何将其放在异常处理中来讲,可能是因为它解决了由于资源的管理而带来的异常处理的复杂性。它基于类的构造函数和析构函数的性质,能够对资源的分配进行相应的检查,防止因为某些异常,导致“存储流失”,即内存分配但未释放。