static, 作用域与生命周期¶
约 236 个字 预计阅读时间 1 分钟
内存的存储区¶
变量的作用域和生命周期¶
- 全局变量,进入main函数前申请空间, 静态存储区, .....时赋值, 可以使用extern在另外的文件访问该全局变量, 程序结束后销毁.
- 静态全局变量, 进入main函数前申请空间, 静态存储区, ......时赋值, 作用域仅限本文件内, 不可使用extern, 程序结束后销毁.
- 局部变量, 在代码块内创建, 代码块结束后销毁, 栈上
- 静态局部变量, 在....时(申请空间/赋值?), 第一次运行到声明时(申请空间/赋值?), 在代码块结束后不销毁, 静态存储区. (线程安全性! 如果多线程执行有静态局部变量的函数, 何时申请空间? C++11之前线程不安全, C++11及以后线程安全)