如果我定义一个异常类
class Exception : public std::runtime_error
{
/*...*/
private:
std::exception_ptr next;
std::exception_ptr prev;
}
其中我指的是挂起的异常next
和新抛出的异常,而this
在挂起时prev
,异常被处理后是否会被释放?我问的原因是,我曾经听说它std::exception_ptr
是根据引用计数实现的,如果我在这个类中产生了引用循环,这可能导致内存泄漏。