01 内存分区模型
c++在程序执行的时候,会将内存划分为4 个区域
- 代码区 :(程序运行前)存放函数体的二进制代码,由操作系统进行管理。
比如说写的cout << "hello" << endl;
(也就是代码);写的注释等等,都在代码区。 - 全局区:(程序运行前)存放全局变量和静态变量以及常量。
- 栈区:由编译器自动分配释放,存放函数的参数值,全局变量等。
- 堆区:由开发分配和释放,若开发不释放,这在程序结束的时候由操作系统回收。
内存四区的存在意义:不同的区域存放不同的数据,给予其不同的生命周期,产生更大的灵活性。
:-)