1.22、类的生命周期
对象的生命周期阶段
- • 全局对象:在程序启动时(main函数开始前)被创建,直到程序结束时才销毁。它们的存储位置通常在全局数据区,生命周期贯穿整个程序运行期间。
- • 静态对象:
- • 静态全局对象:类似于全局对象,程序启动时创建,程序结束时销毁。
- • 静态局部对象:在第一次执行到定义语句时初始化(即第一次进入作用域时创建),之后多次进入该作用域不会重复创建,程序结束时销毁。
- • 局部自动对象:在进入其作用域(通常是函数或代码块)时创建,离开作用域时销毁。其存储位置在栈区,由栈自动管理。
- • 动态分配对象(new创建):通过new运算符在堆上分配内存,生命周期从new时开始,直到显式调用delete释放内存为止。如果不释放,则对象一直存在直到进程结束,系统才回收资源。
- • 临时对象:如函数返回的临时值,生命周期通常在完整表达式结束时销毁,属于自动管理的短暂对象。
总结
对象类型 | 创建时机 | 销毁时机 | 存储位置 |
全局对象 | 程序启动时 | 程序结束时 | 全局数据区 |
静态局部对象 | 第一次进入作用域时 | 程序结束时 | 全局数据区 |
局部自动对象 | 进入作用域时 | 离开作用域时 | 栈区 |
动态分配对象 | new时 | 显式调用delete时 | 堆区 |
临时对象 | 表达式求值时 | 表达式结束时 | 栈区 |
本文首发于【讳疾忌医-note】公众号,未经授权,不得转载。
(加入我的知识星球,免费获取账号,解锁所有文章。)
阅读剩余
版权声明:
作者:讳疾忌医-note
链接:https://www.1217zy.vip/archives/1240
文章版权归作者所有,未经允许请勿转载。
THE END