一、栈解旋
1、栈解旋引入
C++ 程序 抛出异常后 对 局部变量的处理 : 当 C++ 应用程序 在 运行过程 中发生异常时 , 程序会跳转到异常处理程序 , 并执行一些操作以处理异常 ; 在这个过程中..., C++ 会自动处理函数调用的堆栈 , 并释放局部变量和对象等资源 ;
上述操作就是 " 栈解旋 " ;
2、栈解旋概念
C++ 语言 中的 栈解旋 ( Stack Unwinding ) 是指 在程序发生异常时..., 系统从当前的函数开始逐层返回 , 释放每个函数中的局部变量 , 直到回到主函数 main 函数中 , 同时执行异常处理程序 , 上述完整过程称为 " 栈解旋 " ;
在 try 语句块中 , 在..., 所有在 函数栈 中创建的对象 或 数据 , 都会被自动析构 , 析构的顺序 与 创建顺序 相反 ;
3、栈解旋作用
" 栈解旋 " 的 作用是确保程序在异常发生时能够安全退出 , 并释放占用的资源...Student s;
cout << "开始抛出 char 类型 异常 " << endl;
// 抛出一个 char 类型的异常
throw 'A';
}
int main() {